New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unexpected behavior with table and container navigation for nested tables #7382
Comments
I've always believed table navigation shouldn't consider layout tables when inclusion of layout tables is disabled. However, I believe @michaelDCurran made a case against this, hence the current behaviour. Mick, is this (still?) correct, and if so, can you explain why? @Qchristensen, thoughts? |
I may have thought this at one time, but today I would be fine with ignoring layout tables. I think from memory the issue was more around the complexity to do this, especially with Gecko as we use a hybrid of virtualBuffer and out-of-proc IA2. having said this, some of that code was slightly refactored when abstracting table support for browseMode, so it is worth looking into again. I certainly agree the difference between table navigation and container jumping is bad. |
P2 because this can be quite problematic and layout tables are still (unfortunately) rather common. |
Ok, let me investigate the complexity of this later this week |
I'll take this, as I am also working on some ARIA grid stuff which may directly affect this code. |
Ah, that works too. |
Confirmed that this now works as expected. |
take this example.
Table nav still traps the user, which is annoying. Could we do something like "Leaving nested table" when navigating out of the inner table with table nav? |
@derekriemer commented on 2 aug. 2017 17:14 CEST:
You can leave the inner table with comma, so I think that is at least something. But I think that data tables inside data tables should be treated as layout tables. |
There could be a usecase, but it would be verry weird. |
I've seen the case below in a corporate environment. I agree it isn't common style of coding.
Steps to reproduce:
Execute the following from a Firefox location bar:
Use table navigation inside the table. Everything works fine, until you reach outer table cell 3, which consists of a table itself with two cells.
Expected behavior:
A. When in the inner table, pressing comma moves you out of it to outer table cell 4
B. Table navigation doesn't get trapped into the inner table as soon as you are in it.
Actual behavior:
A. When in the inner table, pressing comma moves you out of it to outer table cell 6, so the bottom of the outer table
B. Table navigation gets trapped into the inner table as soon as you are in it.
Technical details
The outer table is treated as a content table, the inner table is treated as a layout table. This is why pressing comma in the inner table moves you to the edge of the outer table, since layout tables aren't treated as containers. If you enable "Include layout tables" in browse mode settings, issue A goes away.
Points to discuss:
At least there is an inconsistency here, as table nav works for layout tables, but they aren't treated as containers.
The text was updated successfully, but these errors were encountered: