Bug 144424

Summary: AX: AccessibilityTable::isDataTable() should return false for non-<table> elements that use CSS table display values
Product: WebKit Reporter: James Craig <jcraig>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
test case none

Description James Craig 2015-04-29 17:51:26 PDT
Created attachment 252015 [details]
test case

AccessibilityTable::isDataTable() needs an update that excludes elements from most of the heuristic considerations if the element is not a native <table> element.

In other words, no matter its style properties, an element should never be exposed as AXTable unless the element is <table>, or explicitly uses "table", "grid", or "treegrid" as the value of the role attribute. The additional heuristics like border detection should only be applied to <table> elements that have no explicit role.

Test case from Marco Ranon:
<rdar://problem/19745053>
Comment 1 Radar WebKit Bug Importer 2015-04-29 17:52:10 PDT
<rdar://problem/20756519>
Comment 2 James Craig 2015-04-29 17:54:04 PDT
I think this will be as simple as:

if (!this.hasTagName(tableTag))
    return false;

...but WebKit is not building for me at the moment. Need to make sure that does not break, legitimate ARIA 1.0 grids/treegrids and ARIA 1.1 tables.
Comment 3 James Craig 2015-04-29 17:54:20 PDT
<rdar://problem/19745053>
Comment 4 James Craig 2015-05-13 00:06:43 PDT
Forward duping to bug 144804

*** This bug has been marked as a duplicate of bug 144804 ***