Bug 133133

Summary: AX: [ATK] Children of tables and lists with role='presentation' should each be exposed as if they were div elements
Product: WebKit Reporter: Joanmarie Diggs <jdiggs>
Component: AccessibilityAssignee: Joanmarie Diggs <jdiggs>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, cfleizach, commit-queue, dmazzoni, jcraig, mario, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: Linux   
Bug Depends on:    
Bug Blocks: 25531    
Attachments:
Description Flags
accessible-event listener
none
test case
none
Patch none

Description Joanmarie Diggs 2014-05-20 13:58:12 PDT
Created attachment 231791 [details]
accessible-event listener

Steps to reproduce:
1. Launch the attached accessible-event listener in a terminal
2. Load the attached test case is Epiphany

Expected results: Because the table and unordered list each have role='presentation', the child elements would each be exposed as if they were div elements.

Actual results: The elements with role='presentation' are not exposed, but the role of their children remains unaffected:

-> [document web | ] None
    -> [paragraph | ] text: <The next element is an unordered list with role presentation.>
    -> [list item | item 1] text: <• item 1>
    -> [list item | item 2] text: <• item 2>
    -> [paragraph | ] text: <The next element is a table with role presentation.>
    -> [table cell | ] text: <row 1, col 1>
    -> [table cell | ] text: <row 1, col 2>
    -> [table cell | ] text: <row 2, col 1>
    -> [table cell | ] text: <row 2, col 2>

List items without a parent list or listbox, and table cells without a parent table or row, make no sense.
Comment 1 Joanmarie Diggs 2014-05-20 13:58:57 PDT
Created attachment 231792 [details]
test case
Comment 2 Radar WebKit Bug Importer 2014-05-20 13:59:56 PDT
<rdar://problem/16978141>
Comment 3 Joanmarie Diggs 2014-06-05 15:13:11 PDT
Created attachment 232584 [details]
Patch
Comment 4 Joanmarie Diggs 2014-06-05 15:28:49 PDT
Mario and Chris: Hopefully this is a quick review.

Chris: With or without my change, on the Mac, list items in a presentational list result in AXStaticText objects that are direct descendants of the AXWebArea.

In contrast, on my Mac:

  <body><span>foo</span></body>

and

  <body><div>foo</div></body>

each result in:

-> AXWebArea
   -> AXGroup
      -> AXStaticText ("foo")

Should the presentational list item AXStaticText objects also be descendants of an AXGroup?
Comment 5 chris fleizach 2014-06-05 15:58:42 PDT
(In reply to comment #4)
> Mario and Chris: Hopefully this is a quick review.
> 
> Chris: With or without my change, on the Mac, list items in a presentational list result in AXStaticText objects that are direct descendants of the AXWebArea.
> 
> In contrast, on my Mac:
> 
>   <body><span>foo</span></body>
> 
> and
> 
>   <body><div>foo</div></body>
> 
> each result in:
> 
> -> AXWebArea
>    -> AXGroup
>       -> AXStaticText ("foo")
> 
> Should the presentational list item AXStaticText objects also be descendants of an AXGroup?

I don't think it's strictly necessary. it depends on what the parent object is. a <div> or <span> may not generate an AXGroup
Comment 6 WebKit Commit Bot 2014-06-05 16:53:47 PDT
Comment on attachment 232584 [details]
Patch

Clearing flags on attachment: 232584

Committed r169631: <http://trac.webkit.org/changeset/169631>
Comment 7 WebKit Commit Bot 2014-06-05 16:53:51 PDT
All reviewed patches have been landed.  Closing bug.