Bug 143007 - AX: table cells that use display:block render the table inaccessible to VoiceOver
Summary: AX: table cells that use display:block render the table inaccessible to Voice...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: chris fleizach
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2015-03-24 09:31 PDT by chris fleizach
Modified: 2015-03-25 23:03 PDT (History)
11 users (show)

See Also:


Attachments
patch (5.16 KB, patch)
2015-03-24 11:52 PDT, chris fleizach
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description chris fleizach 2015-03-24 09:31:53 PDT
If a table cell uses display: block, then cellForColumnAndRow fails because the child of the row is not a table cell.

VoiceOver is then unable to navigate the table

<rdar://problem/20196222>
Comment 1 chris fleizach 2015-03-24 11:52:03 PDT
Created attachment 249337 [details]
patch
Comment 2 WebKit Commit Bot 2015-03-24 11:53:51 PDT
Attachment 249337 [details] did not pass style-queue:


ERROR: Source/WebCore/accessibility/AccessibilityTableCell.cpp:70:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 chris fleizach 2015-03-24 12:28:02 PDT
(In reply to comment #2)
> Attachment 249337 [details] did not pass style-queue:
> 
> 
> ERROR: Source/WebCore/accessibility/AccessibilityTableCell.cpp:70:  Multi
> line control clauses should use braces.  [whitespace/braces] [4]
> Total errors found: 1 in 5 files
> 

seems like a false positive

> 
> If any of these errors are false positives, please file a bug against
> check-webkit-style.
Comment 4 chris fleizach 2015-03-25 17:08:15 PDT
Comment on attachment 249337 [details]
patch

Thanks!
Comment 5 WebKit Commit Bot 2015-03-25 17:54:35 PDT
Comment on attachment 249337 [details]
patch

Clearing flags on attachment: 249337

Committed r181988: <http://trac.webkit.org/changeset/181988>
Comment 6 WebKit Commit Bot 2015-03-25 17:54:40 PDT
All reviewed patches have been landed.  Closing bug.
Comment 7 Alexey Proskuryakov 2015-03-25 20:28:45 PDT
This new test is broken on Windows, Efl and Gtk. Can this be fixed quickly, or should we roll out?


https://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=accessibility%2Ftable-cell-display-block.html


@@ -1,14 +1,18 @@
+CONSOLE MESSAGE: line 29: TypeError: undefined is not an object (evaluating 'table.cellForColumnAndRow')
+a1
+b1	c1
+a2
+b2	c2
+a1
+b1	c1
+a2
+b2	c2
 This tests that if a table cell uses display:block, the table cell will still be accessible
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS cell1a.isEqual(cell1b) is true
-PASS cell1a.role is 'AXRole: AXCell'
-PASS domCell1.style.display is 'block'
-PASS table2.role is 'AXRole: AXGroup'
-PASS cell2.role is 'AXRole: AXStaticText'
-PASS successfullyParsed is true
+FAIL successfullyParsed should be true (of type boolean). Was undefined (of type undefined).
Comment 8 chris fleizach 2015-03-25 22:24:14 PDT
We should make this a Mac only test if these other platforms don't implement cellForColAndRoe

(In reply to comment #7)
> This new test is broken on Windows, Efl and Gtk. Can this be fixed quickly,
> or should we roll out?
> 
> 
> https://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.
> html#showAllRuns=true&tests=accessibility%2Ftable-cell-display-block.html
> 
> 
> @@ -1,14 +1,18 @@
> +CONSOLE MESSAGE: line 29: TypeError: undefined is not an object (evaluating
> 'table.cellForColumnAndRow')
> +a1
> +b1	c1
> +a2
> +b2	c2
> +a1
> +b1	c1
> +a2
> +b2	c2
>  This tests that if a table cell uses display:block, the table cell will
> still be accessible
>  
>  On success, you will see a series of "PASS" messages, followed by "TEST
> COMPLETE".
>  
>  
> -PASS cell1a.isEqual(cell1b) is true
> -PASS cell1a.role is 'AXRole: AXCell'
> -PASS domCell1.style.display is 'block'
> -PASS table2.role is 'AXRole: AXGroup'
> -PASS cell2.role is 'AXRole: AXStaticText'
> -PASS successfullyParsed is true
> +FAIL successfullyParsed should be true (of type boolean). Was undefined (of
> type undefined).
Comment 9 Brent Fulgham 2015-03-25 22:36:14 PDT
Could you please skip this test on Windows (and perhaps others) and file a bug to remind us to fix this?
Comment 10 chris fleizach 2015-03-25 22:44:03 PDT
(In reply to comment #9)
> Could you please skip this test on Windows (and perhaps others) and file a
> bug to remind us to fix this?

Ok on it. Thanks
Comment 11 chris fleizach 2015-03-25 23:03:04 PDT
(In reply to comment #10)
> (In reply to comment #9)
> > Could you please skip this test on Windows (and perhaps others) and file a
> > bug to remind us to fix this?
> 
> Ok on it. Thanks

Tests skipped
   http://trac.webkit.org/changeset/182002

Windows
https://bugs.webkit.org/show_bug.cgi?id=143081

Linux
https://bugs.webkit.org/show_bug.cgi?id=143083