Bug 260348

Summary: AX: ARIA role should not be set outside the expected context for gridcell, rowheader and columnheader
Product: WebKit Reporter: Howard Edwards <howarde.edwards>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: andresg_22, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   

Description Howard Edwards 2023-08-17 07:09:05 PDT
Failures found in new WPT tests: https://wpt.fyi/results/wai-aria/role/grid-roles.html?label=experimental&label=master&aligned

Messages for the following markups:


<div role="gridcell" data-testname="should not have role gridcell outside of row" data-expectedrole="none" class="ex">x</div>
FAIL message: assert_equals: <div role="gridcell" data-testname="orphaned gridcell outside the context of row" data-expectedrole="none" class="ex">x</div> expected "none" but got "gridcell"


<div role="rowheader" data-testname="should not have role rowheader outside of row" data-expectedrole="none" class="ex">x</div>
FAIL message: assert_equals: <div role="rowheader" data-testname="orphaned rowheader outside the context of row" data-expectedrole="none" class="ex">x</div> expected "none" but got "rowheader"


<div role="columnheader" data-testname="should not have role columnheader outside of row" data-expectedrole="none" class="ex">x</div>
FAIL message: assert_equals: <div role="columnheader" data-testname="orphaned columnheader outside the context of row" data-expectedrole="none" class="ex">x</div> expected "none" but got "columnheader"


The roles shouldn't be set outside of the expected parent element contexts.
Comment 1 Radar WebKit Bug Importer 2023-08-17 07:09:14 PDT
<rdar://problem/114025795>
Comment 3 Howard Edwards 2023-08-17 07:32:55 PDT
> <div role="gridcell" data-testname="should not have role gridcell outside of
> row" data-expectedrole="none" class="ex">x</div>
> FAIL message: assert_equals: <div role="gridcell" data-testname="orphaned
> gridcell outside the context of row" data-expectedrole="none"
> class="ex">x</div> expected "none" but got "gridcell"
> 
> 
> <div role="rowheader" data-testname="should not have role rowheader outside
> of row" data-expectedrole="none" class="ex">x</div>
> FAIL message: assert_equals: <div role="rowheader" data-testname="orphaned
> rowheader outside the context of row" data-expectedrole="none"
> class="ex">x</div> expected "none" but got "rowheader"
> 
> 
> <div role="columnheader" data-testname="should not have role columnheader
> outside of row" data-expectedrole="none" class="ex">x</div>
> FAIL message: assert_equals: <div role="columnheader"
> data-testname="orphaned columnheader outside the context of row"
> data-expectedrole="none" class="ex">x</div> expected "none" but got
> "columnheader"

Correction on data-testname attributes:

<div role="gridcell" data-testname="orphaned gridcell outside the context of row" data-expectedrole="none" class="ex">x</div>
FAIL message: assert_equals: <div role="gridcell" data-testname="orphaned gridcell outside the context of row" data-expectedrole="none" class="ex">x</div> expected "none" but got "gridcell"


<div role="rowheader" data-testname="orphaned rowheader outside the context of row" data-expectedrole="none" class="ex">x</div>
FAIL message: assert_equals: <div role="rowheader" data-testname="orphaned rowheader outside the context of row" data-expectedrole="none" class="ex">x</div> expected "none" but got "rowheader"


<div role="columnheader" data-testname="orphaned columnheader outside the context of row" data-expectedrole="none" class="ex">x</div>
FAIL message: assert_equals: <div role="columnheader" data-testname="orphaned columnheader outside the context of row" data-expectedrole="none" class="ex">x</div> expected "none" but got "columnheader"