Description: I have a cell, which calculates a hyperlink based on a base address which resides in a named cell. The URL is contatenated with a ticket number which resides in C* cells. The number contains spaces, thus the spaces are removed before added to thebase url. =HYPERLINK(CONCATENATE(baseAddressUrl,SUBSTITUTE(C8," ","")),"link") The resulting URL works and opens fine in a browser, when clicking with the mouse. However, how can the URL get triggered by using a keyboard only? It seems there is a mouse-action which does not have a counterpart on the keyboard - which seems to be an accessibility issue. Steps to Reproduce: 1. add a cell, type in a url, and add a name to the cell, "baseAddressUrl". 2. add a new row and a cell with a number, use cell !C4! for example and type "123456" 3. on column D add the following macro: =HYPERLINK(CONCATENATE(baseAddressUrl,SUBSTITUTE(C4," ","")),"link") 4. click on cell !D4!. A browser opens and shows a url 5. try to have the browser opens the url by just using the keyboard.... Actual Results: nothing, there seems no keyboard access to triggering HYPERLINK elements within Calc. I read it seems to work in Writer, but I did not check this. Expected Results: A keyboard shortcut is given by the LibreOffice team which maps into the keyboard shortcuts interaction design patterns and lets end users trigger a link by just using the keyboard. Reproducible: Always User Profile Reset: No Additional Info: As written, a shortcut should open the browser, congruent to the use of the mouse.
Created attachment 148882 [details] Sample with generated link Sample which contains a column with a generated link. Click on link->works. Try to open by only using the keyboard. I was not able to achieve this. How can users with screen readers open such links?
added as "bug request" not as "feature request", as LibreOffice is designed to be accessible and in this case a keyboard-alternative for a mouse action seems to be missing. Related Accessibility-Requirements: WCAG 2.0, 2.1.1 WCAG 2.0, 2.1.1 BITV 2.0, 2.1.1 Section508; 1194.21 (a) Section508; 1194.21 (l) Section508; 1194.22 (e) Section508; 1194.22 (f) Section508; 1194.22 (n)
The keyboard shortcut it's Ctrl+Click, what can be change in Menu/Tools/Options/LibreOffice/Security/Security Options & warnings - Optins - Ctrl+Click required to follow hyperlinks. If disable only click is needed.
The inquiry was about keyboard access. The given solution was to change from Ctrl+Click to Click, which is a mouse option. I am looking for a KEYBOARD ALTERNATIVE to trigger a link by only using the keyboard. The computer in use does neither have a mouse pointing device or a touch pad.
You can't confirm your own bugs. Moving it back to UNCONFIRMED until someone else confirms it.
I can confirm the issue. In this case, I think enter ou control + enter should make it possible to trigger the click on the navigation mode. Best regards, Alex.
The usual way of a11y is to press enter on focused links, or ctrl/cmd+enter in our case. That's easy for whole cells but might be a bit tricky for cell content with for example "Hello" <a href=...>foo</a> World". But we should definitely go for it.
Dear Oliver Keim, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Reviewed the current version 7.2.0 of LibreOffice Calc for macOS. Used macOS as this OS is the preferred version to efficiently work with large documents and keyboard-only access. I added a link using CMD+K and added a http: or https: based URL (such as "http://www.cnn.com" and added a text ("CNN"). Closed the dialog with OK. While the focus resides on the cell which contains the URL there is no keyboard option to trigger the link. Not directly on the cell (preferred), not indirectly in a context menu (press Shift+F10), not indirectly in the CreateLink dialog (press CMD+K). Tried the following shortcuts: - ALT+ENTER - no result - CTRL+ENTER - no result - CMD+ENTER - no result. Test was done in macOS version of LibreOffice. Best regards, Oliver.
The function ScGlobal::OpenURL() is called in ScGridWindow::MouseButtonUp(). Cleanest solution would be to separate the part that takes various situations into account. But this is some effort since it's closely linked to the mouse position. Alternatively, we might simulate a mouse click in the UNO command that needs to be added for the keyboard interaction. Or duplicate the code maybe with limited capabilities (no VbaEvents, no mobile device. Eike, what do you think?
(In reply to Heiko Tietze from comment #10) > Eike, what do you think?
Also reviewed version 7.2.0.4 LibreOffice on Windows. The result is consistent to macOS: The shortcuts do not yet trigger a link. Ctrl+Enter/Cmd+Enter and Alt+Enter/Option+Enter seem unmapped in Calc right now, so one of these keystrokes may be an option. In Writer the user can at least use Shift+F10 to access the context menu and trigger the context menu function "Open Hyperlink" and "Copy Hyperlink Location". A consistent implementation in Calc would surely be appreciated by our users.
(In reply to Oliver Keim from comment #12) > In Writer the user can at least use Shift+F10 to access the context menu... The context menu offers Open Hyperlink as well in Calc. Also a good solution, and available for customization right now. However, ctrl+return or ctrl+shift+G (some other shortcut) don't work for me. Version: 7.2.0.4 / LibreOffice Community Build ID: 20(Build:4) CPU threads: 8; OS: Linux 5.13; UI render: default; VCL: kf5 (cairo+xcb) Locale: de-DE (en_US.UTF-8); UI: en-US 7.2.0-2 Calc: threaded
Btw, ctrl+K is the same as Edit Hyperlink but not customizable (neither assigned).
(In reply to Heiko Tietze from comment #13) > The context menu offers Open Hyperlink as well in Calc. Only if a link is selected within the cell content containing a hyperlink field. Not on a formula cell containing the HYPERLINK() function. For example =HYPERLINK("https://example.com/";"open me") (In reply to Heiko Tietze from comment #14) > Btw, ctrl+K is the same as Edit Hyperlink but not customizable (neither > assigned). Not relevant here.
(In reply to Eike Rathke from comment #15) > Not on a formula cell containing the HYPERLINK() function. And what's your take on comment 10?
Implementation detail.. (In reply to Heiko Tietze from comment #10) > The function ScGlobal::OpenURL() is called in ScGridWindow::MouseButtonUp(). > Cleanest solution would be to separate the part that takes various > situations into account. But this is some effort since it's closely linked > to the mouse position. The mouse position there is only needed to obtain the URL from the cell via ScGridWindow::GetEditUrl() and for the tiled rendering case. Separating that out and factoring out all the address conversion then would only need a GetEditUrl() on the currently active cell for the keyboard case. For ScGlobal::OpenURL() it's about the active view shell/frame and mouse click modifier keys. The view shell/frame is the same for a Ctrl+Enter (or whatever) and whether to evaluate the mouse click modifier (and what happens if not) could be made a parameter, defaulted to current behaviour. > Alternatively, we might simulate a mouse click in the > UNO command that needs to be added for the keyboard interaction. How should that work? You'd have to navigate the mouse to position it on cells to emulate the click. Sounds more like a pain than a gain. > Or > duplicate the code maybe with limited capabilities (no VbaEvents, no mobile > device. That does not sound like a good idea..
(In reply to Eike Rathke from comment #17) > The mouse position there is only needed to obtain the URL from the cell via > ScGridWindow::GetEditUrl() and for the tiled rendering case... Okay, so let's do. Sounds like an interesting easy hack.
I'm a beginner developer and I am trying to implement this change following the strategy outlined above. I have a few questions about it. Since the name of the function is MouseButtonUp, it would seem related to a mouse functionality. Is that the right place to add the "CTRL+Enter" keyboard combination, or should I find a better place for it? Then, about the GetEditUrl function: > The mouse position there is only needed to obtain the URL from the cell via > ScGridWindow::GetEditUrl() and for the tiled rendering case. Separating that > out and factoring out all the address conversion then would only need a > GetEditUrl() on the currently active cell for the keyboard case. Should I just find a way to express the active cell without using the mouse and replace rMEvt.GetPosPixel() with that? And finally, about OpenURL: > For ScGlobal::OpenURL() it's about the active view shell/frame and mouse > click modifier keys. The view shell/frame is the same for a Ctrl+Enter (or > whatever) and whether to evaluate the mouse click modifier (and what happens > if not) could be made a parameter, defaulted to current behaviour. From what I've seen OpenURL() takes two main arguments: aUrl and aTarget. They are both initialized as OUString without any values and used immediately in GetEditURL(). Where is the mouse click modifier? I don't understand that final part.
Created attachment 190368 [details] Sample file with URL for the discussion in https://gerrit.libreoffice.org/c/core/+/157666
Sahil Gautam committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/14396a5361ef72afc99033d4cac29aaeb1ffa2d8 tdf#123159 Make Hyperlinks keyboard accessible It will be available in 24.8.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.