Bug 128114

Summary: AX: WebKit should support @headers/@id for complex accessible web tables
Product: WebKit Reporter: chris fleizach <cfleizach>
Component: AccessibilityAssignee: chris fleizach <cfleizach>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, commit-queue, dmazzoni, jcraig, jdiggs, mario, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch darin: review+

Description chris fleizach 2014-02-03 11:11:09 PST
AX: WebKit should support @headers/@id for complex accessible web tables

* STEPS TO REPRODUCE
1. Using VO, navigate the tables on http://webaim.org/articles/voiceover/tables

* RESULTS
headers/id attributes are ignored. This radar represents the WebKit portion of the bug.

<rdar://problem/9199163>
Comment 1 chris fleizach 2014-02-03 11:13:42 PST
Created attachment 223001 [details]
patch
Comment 2 Darin Adler 2014-02-03 11:51:18 PST
Comment on attachment 223001 [details]
patch 

View in context: https://bugs.webkit.org/attachment.cgi?id=223001&action=review

> Source/WebCore/accessibility/AccessibilityTableCell.cpp:158
> +        AccessibilityObject* object = cache->getOrCreate(element);
> +        if (object)
> +            headers.append(object);

I suggest putting this inside the if statement.

    if (AccessibilityObject* object = cache->getOrCreate(element))
        headers.append(object);

> Source/WebCore/accessibility/AccessibilityTableCell.cpp:162
> +    if (headers.size())

Maybe !headers.isEmpty() would be better?
Comment 3 chris fleizach 2014-02-03 11:52:43 PST
(In reply to comment #2)
> (From update of attachment 223001 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=223001&action=review
> 
> > Source/WebCore/accessibility/AccessibilityTableCell.cpp:158
> > +        AccessibilityObject* object = cache->getOrCreate(element);
> > +        if (object)
> > +            headers.append(object);
> 
> I suggest putting this inside the if statement.
> 
>     if (AccessibilityObject* object = cache->getOrCreate(element))
>         headers.append(object);
> 
> > Source/WebCore/accessibility/AccessibilityTableCell.cpp:162
> > +    if (headers.size())
> 
> Maybe !headers.isEmpty() would be better?

Done. Thanks!
Comment 4 chris fleizach 2014-02-03 12:30:04 PST
http://trac.webkit.org/changeset/163320