Commits on Source (15)
-
Joanmarie Diggs authored
-
Joanmarie Diggs authored
The collection interface is something applications and toolkits get "for free" from AT-SPI2. However, applications/toolkits that provide their own implementation of AT-SPI2 (e.g. WebKitGtk) presumably need to also implement AtspiCollection themselves, or do something so that the default AT-SPI2 implementation is used. Currently, in WebKitGtk version 2.36, a non-implemented error occurs when querying the collection interface on the document. We were not handling this error, causing Orca to be silent when structural navigation commands were used. This commit handles the error. It cannot solve the missing implementation, however. Thus in WebKitGtk apps, Orca will now announce things like "no more headings" when there are in fact headings present. See issue #244
-
Pawan Chitrakar authored67d22cd2
-
Joanmarie Diggs authored
When generating ancestors, we typically stop at large containers so as not to be too chatty. We were treating DOCUMENT_FRAME as such a container, primarily because it was how web documents were exposed to us (prior to the creation of DOCUMENT_WEB). Now that we have DOCUMENT_WEB, we should be able to distinguish ARIA's document role (DOCUMENT_FRAME), from a web document. And because we cannot control where an author might choose to use this role, we should not take it as a reason to stop generating ancestors. Example: The FluentUI react dialog applies the document role to a div which stands between the buttons and the dialog. Fixes issue 250
-
Joanmarie Diggs authored
* Announce entering and leaving list * Announce item count (based on the number of description list terms) * Append the role name at the end of each description list term in order to make it possible to distinguish terms from their descriptions in confusing lists, while still making it possible for users to cut off that speech in cases where the distinction is obvious. * Similarly append the role name at the end of each description list value. See issue #248
-
Joanmarie Diggs authored
-
Joanmarie Diggs authored
When a newly-expanded/shown listbox appears and focus is given to a child option, we generate ancestors. That presentation includes the name of the ancestor listbox. In some ARIA authoring, the name of the listbox is the same as the previously-focused object (e.g. a button or collapsed combobox). Repeating this name is unnecessarily chatty. This commit checks for that condition and returns early for the listbox name generation. Possibly fixes issue #252.
-
Joanmarie Diggs authored
If a user is tabbing among links inside an ARIA grid, we were not speaking the headers and positions of column headers. In order to fix this completely, we need to do two things: 1) Generate ancestors and 2) Adjust what information gets generated for the cell information. The second might have undesired side effects, so the changes are being split. This commit only addresses the first. See issue #253
-
Joanmarie Diggs authored
The 'focused' formatType has been serving dual purposes, specifying what to present when the object is already focused and something changed and what to present about an ancestor of a newly focused object. This approach was likely done because the information in both cases is expected to be minimal, and the set of roles for which we might want distinct already-focused info and as-ancestor info small to non-existent. It turns out that small may be true; non-existent isn't. Consider focus changing among items (e.g. links) descending from ARIA gridcells. If the column changes, we want to include some of the new cell/column info. And that info will be different from what we present when some state changes in the currently-focused Gtk table cell. This commit merely adds the capability of an ancestor formatType because having it makes sense in general. It falls back on the focused formatType, so no end-user-observable behavior should result from this commit. A subsequent commit will use this new formatType to solve the aforementioned table cell problem. And as other such instances become noticed, we can start decoupling "focused" from "ancestor." See issue #253.
-
Joanmarie Diggs authored
This commit causes us to present the row and/or column header when the user moves focus to a descendant of a cell in a different row and/or column. See issue #253.
-
Joanmarie Diggs authored
The logic to determine whether or not the row and/or column header has changed relies on the values stored when the location changes. We were only storing those values when the new location was a cell (or cell-like thing). If instead the new location is a focusable descendant of the cell, we are at risk of duplicating header info. This commit fixes that by looking for the most immediate ancestor cell and storing its coordinates if found. See issue #253.
-
Joanmarie Diggs authored
This commit causes us to present the row and/or column index when the user moves focus to a descendant of a cell in a different row and/or column. See issue #253.
-
Joanmarie Diggs authored
Because the time element has various punctuation marks in it, user agents sometimes expose it as being divided into multiple sentences. Given a time element inside of a link while doing a SayAll by sentence, we can theoretically repeat "link" after each substring reported to us as a full sentence. Alternatively we might say "link" only once, but somewhere in the middle rather than at the end. This commit solves that problem by always treating the time element as a single sentence, rather than asking user agents for its sentences. Fixes issue #247
-
Joanmarie Diggs authored
-
Samuel Thibault authoredd04d1d45
This diff is collapsed.
This diff is collapsed.
No preview for this file type
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.