Fix handling of table cells without a containing table in browse mode.#8887
Merged
Conversation
In the new Gmail, message bodies are contained within a "gridcell" which does not have a containing grid. The gridcell's name is the entire body of the message. When using quick navigation to move to anything inside these "cells", NVDA reports information about the cell, including its name, after the element to which you just navigated. This results in a huge amount of spurious (and confusing) verbosity in Gmail when using quick navigation. To fix this, cells outside of tables are now treated as layout.
michaelDCurran
approved these changes
Oct 29, 2018
michaelDCurran
added a commit
that referenced
this pull request
Oct 31, 2018
…ted in braille and speech" (#8899) * Revert "Revert "Don't announce 'selected' when the focus moves in Google sheets if the focused cell is the only cell selected (#8879)" (#8893)" This reverts commit b4e9e83. * Revert "Don't announce 'selected' when the focus moves in Google sheets if the focused cell is the only cell selected (#8879)" This reverts commit 51f5b2f. * Revert "Merge all vbufBackend dlls into nvdaHelperRemote.dll (#8866)" This reverts commit 24f5123. * Revert "Fix handling of table cells without a containing table in browse mode. (#8887)" This reverts commit 5fe34c5. * Revert "Ensure that labels explicitly set on divs and spans are reported in braille and speech (#8886)" This reverts commit fd24d81.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
None.
Summary of the issue:
When using browse mode quick navigation to move to anything inside a message body in the new Gmail, the entire message body is reported after the element to which you just navigated.
Description of how this pull request fixes the issue:
In the new Gmail, message bodies are contained within a "gridcell" which does not have a containing grid. The gridcell's name is the entire body of the message. When using quick navigation to move to anything inside these "cells", NVDA reports information about the cell, including its name, after the element to which you just navigated.
To fix this, cells outside of tables are now treated as layout.
Having a gridcell outside of a grid is authoring error, violates the ARIA spec and really should be fixed by Gmail. (I've reported it to Google already.) However, it doesn't hurt us to handle this more gracefully and thus mitigate user pain in the interim.
Testing performed:
All tests performed in Firefox.
Tested that navigating to a link in a Gmail message body no longer reports the entire message body afterwards.
With this test case:
data:text/html,<div role="cell" aria-label="unwanted">foo<h1>bar</h1></div>verified that quick navigating to the heading with "h" does not report "unwanted cell" after the heading.
With this test case:
data:text/html,<table><tr><th>foo<h1>bar</h1></th><td>baz</td></tr></table>verified that quick navigating to the heading still just reports the heading, and that the column number is still reported when using the cursor keys and column navigation commands to move between cells.
With this test case:
data:text/html,<table><tr><td>foo<h1>bar</h1></td><td>baz</td></tr></table>verified that quick navigating to the heading still just reports the heading. Verified that with include layout tables disabled (default), no table coordinates are reported. Verified that with include layout tables enabled, verified that the column number is still reported when using the cursor keys and column navigation commands to move between cells.
Known issues with pull request:
None.
Change log entry:
Section: Bug Fixes
- In the new Gmail, when using quick navigation inside messages while reading them, the entire body of the message is no longer reported after the element to which you just navigated.