Enable activating a control with cursor routing on any of its braille cells (#7447) #11922
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Link to issue number:
Fixes #7447
Summary of the issue:
In browse mode, a control can be activated with braille cursor routing only at the positions of its text, but not at the positions of eg. its role descriptor.
That is, cursor routing on "lnk" for a link moves the cursor on first press to the link text but does not activate on second press.
It is especially disturbing on check-boxes with no labels - as often found as line selectors in tables: Despite braille rendering a check-box shape, a single cell can be used to activate, located one space after "chk"… while most new comers would expect to be able to click within the rendered check-box shape.
Description of how this pull request fixes the issue:
In
TextInfoRegion.routeTo
do not compare the routing cell with the cursor cell, but rather the underlyingTextInfo
offsets.Testing performed:
Known issues with pull request:
The solution proposed here maybe widens the scope a bit too much:
Considering a check-box with no label at the start of a table cell, cursor routing on the row/column braille indications also activates the check-box.
Change log entry:
Section: Changes
In browse mode, controls can now be activated with braille cursor routing on their descriptor (ie. "lnk" for a link). This is especially useful for activating eg. check-boxes with no labels.