- 26 Jan, 2023 1 commit
-
-
Mike Gorse authored
When the web script is reactivated, refreshKeyGrabs is called, but locusOfFocus might not yet be set to the currently active control, so the script doesn't know that structural navigation is active, meaning that at-spi isn't instructed to add the key bindings for structural navigation. Later, onFocusedChanged is called, and it might update locusOfFocus without notifying. We need to ensure that the AT-SPI key grabs are updated in this case.
-
- 21 Jan, 2023 1 commit
-
-
- 13 Jan, 2023 1 commit
-
-
- 12 Jan, 2023 1 commit
-
-
- 05 Jan, 2023 1 commit
-
-
- 03 Jan, 2023 6 commits
-
-
Joanmarie Diggs authored
Fixes issue #289.
-
Joanmarie Diggs authored
According to the ARIA spec, the tab role's children are presentational and therefore user agents should not expose its children. Chromium follows this; Firefox does not. As a result, we risk double-presenting the label of a page tab in Firefox when in browse mode. Fix this by enforcing the children-presentational within Orca. Fixes issue #288.
-
-
Joanmarie Diggs authored
-
Joanmarie Diggs authored
-
Joanmarie Diggs authored
-
- 27 Dec, 2022 1 commit
-
-
- 19 Dec, 2022 1 commit
-
-
- 11 Dec, 2022 1 commit
-
-
- 02 Dec, 2022 1 commit
-
-
- 26 Nov, 2022 1 commit
-
-
- 14 Nov, 2022 2 commits
-
-
Joanmarie Diggs authored
This should get the original, intended functionality working again. See issue #47.
-
Joanmarie Diggs authored
KP_Delete is by default bound to an Orca command. If that command is unbound, we should treat KP_Delete just like Delete in terms of speaking the new location.
-
- 02 Nov, 2022 1 commit
-
-
- 31 Oct, 2022 4 commits
-
-
-
Joanmarie Diggs authored
If a single space (e.g. in a paragraph) separates two other objects (e.g. links), instead of speaking the space we might speak a different part of that same text element. The reason why is that currentLineText prefers the existing substring if it exists (in this case it does, the space). But in the case of non-editable content, it then strips that substring and only returns the result if a result remains (it no longer does). If getting the substring fails, we fall back on getTextLineAtCaret which can lead to repetition of text. Stripping the substring was a carry-over from old Gecko support and has been around for 8+ years, likely to work around some oddity in Gecko's accessible text implementation. Gecko's accessible text implementation has improved quite a bit since then, so with any luck stripping the string is no longer needed. Therefore, solve the repetition by no longer stripping the string. A side effect of the above fix was that we would speak "space" for the space. This is due to speechdispatcherfactory's _speak calling adjustForPronunciation which, among other things, converts a single character (i.e. to be spoken alone) into its character name. In the case of SayAll, we're not really speaking the space alone and we don't want to make that adjustment. So have adjustForPronunciation not turn single characters into their names during SayAll. Fixes issue #273.
-
Joanmarie Diggs authored
The ancestry of newly-selected page tabs typically is flagged as layout only and is thus not presented by Orca. If, however, the ancestor has a name, it is no longer considered layout only. Firefox's page tabs are contained in a named toolbar. As a result, when the active browser tab is changed via keyboard shortcut, we present not only the name of the now-active/selected tab but also the parent toolbar. There's probably no good reason to ever present the ancestry of a newly-selected page tab, so enforce that. See issue #276.
-
-
- 18 Oct, 2022 1 commit
-
-
- 17 Oct, 2022 1 commit
-
-
Joanmarie Diggs authored
columnHeaderForCell can now return None in the case of error conditions. Thus we need to check for that in the generator method. See issue #274
-
- 13 Oct, 2022 1 commit
-
-
- 11 Oct, 2022 5 commits
-
-
Joanmarie Diggs authored
See issue #271
-
Joanmarie Diggs authored
Fixes recent regression presenting newly-edited calc cell
-
Joanmarie Diggs authored
There are several scenarios we need to handle when a page loads and focus changes: 1. The document is loaded in the same browser tab, resulting in the current caret context being null/dead. This causes us to get the new caret context for the document. 2. The document is loaded in a new tab, and the user agent has updated the accessible embeds relation. This causes us to not yet have a stored caret context for the document, so we get it. 3. The document is loaded in a new tab, but the user agent hasn't yet updated the accessible embeds relation and the old document is also opened. Here we think the user is still in the old document, and it has a valid caret context. Thus when the user arrows in the newly loaded page, we present the page from the previous tab. Address the third issue by checking if the document changed. If it has, clear the existing caret context and search the event source which emitted the focus event for the new context. Fixes issue #264.
-
Joanmarie Diggs authored
Fixes issue #270.
-
Joanmarie Diggs authored
When we use presentObject, the formatting string usually includes the label and/or name. But it does not for all roles, such as the PUSH_BUTTON role. Using presentMessage with the event.any_data (if present) is consistent with what we do for description changes and will ensure the name change of the currently focused/active item is spoken. See issue #255.
-
- 07 Oct, 2022 6 commits
-
-
Joanmarie Diggs authored
This change retrieves all the headers for a cell for implementations which do the following: 1. Only give us the innermost/closest header for a cell 2. Support returning the header of a header Firefox is such an implementation; Chromium is not. While Chromium does give us all the headers for a cell (good; nothing to work around), it does not support returning the header of a header. Thus when navigating in a nested row/column header, we cannot present the changed outer header. That should be fixed in Chromium. Fixes issue #269 (to the extent we can do so in Orca)
-
Joanmarie Diggs authored
Because row/column headers might themselves have headers.
-
Joanmarie Diggs authored
-
Joanmarie Diggs authored
-
Joanmarie Diggs authored
Orca now prefers the table cell interface over the table interface to get a cell's position. Gecko implements the table cell interface, but instead of returning (row, col), it returns (col, row). This can cause Orca to (among other things) not announce row and/or column headers. See https://bugzilla.mozilla.org/show_bug.cgi?id=1794100 Work around that by not using the table cell interface for cell position in Gecko apps until the bug is fixed and has been fixed for a while. (E.g. in an ESR release)
-
-
- 29 Sep, 2022 1 commit
-
-
- 23 Sep, 2022 2 commits
-
-
Joanmarie Diggs authored
-
Joanmarie Diggs authored
-