WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
144804
AX: Don't expose elements as data tables just because they use display: table
https://bugs.webkit.org/show_bug.cgi?id=144804
Summary
AX: Don't expose elements as data tables just because they use display: table
chris fleizach
Reported
2015-05-08 09:38:42 PDT
A layout table can be coded using a <div> element styled with display:table, and children <div> elements with display:table-cell (plus other table-* rules to define the table’s rows and column). The expectation is that since the tabular structure is defined with the styling and not with structural markup (e.g. html <table> element or WAI-ARIA role=“table), the content should not be exposed by VO as an actual table. This irrespectively of other style applied to the elements (e.g. borders). In particular, if the table consists of only one row, it should be treated by VO as a layout table and therefore not exposed as a table. If the border is not present, the markup is no longer exposed as a table. It’s common practice to visually hide the content using the Clip Method, for example with the following CSS class: .a11y { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); } If a border is applied to any of the <div> elements of the faux table VO exposes a table. However, the first time the page is visited, VO does not allow to enter the table. The table can be reached with VO (e.g. with VO+right keys), but its not possible to enter inside the table and visit its cells. It’s not even possible to get past the table. Although it’s possible to go back using VO+left. But after reloading the page VO still exposes the table but now does allow to enter the table. This can be tested using the following markup: <div class="layout-table"> <div class="first-cell a11y">Visually hidden div</div> <div class="second-cell">Left div</div> <div class="third-cell">Right div</div> </div> and using only the following CSS: .layout-table { display:table; } .layout-table .second-cell, .layout-table .third-cell, .layout-table .third-cell-no-border { display: table-cell; } .layout-table .third-cell { border-left: 5px solid #f00; } <
rdar://problem/19745053
>
Attachments
patch
(4.14 KB, patch)
2015-05-08 15:01 PDT
,
chris fleizach
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
chris fleizach
Comment 1
2015-05-08 15:01:03 PDT
Created
attachment 252751
[details]
patch
WebKit Commit Bot
Comment 2
2015-05-10 07:54:15 PDT
Comment on
attachment 252751
[details]
patch Clearing flags on attachment: 252751 Committed
r184046
: <
http://trac.webkit.org/changeset/184046
>
WebKit Commit Bot
Comment 3
2015-05-10 07:54:19 PDT
All reviewed patches have been landed. Closing bug.
James Craig
Comment 4
2015-05-13 00:06:43 PDT
***
Bug 144424
has been marked as a duplicate of this bug. ***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug