mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-21 09:49:14 +00:00
Bug 857936 - ARIA columnheader/rowheader should inherit editable state, r=tbsaunde
This commit is contained in:
parent
b05708cecd
commit
c4f08a41d3
@ -113,7 +113,7 @@ static nsRoleMapEntry sWAIRoleMaps[] =
|
||||
eTableCell,
|
||||
kNoReqStates,
|
||||
eARIASelectable,
|
||||
eARIAReadonly
|
||||
eARIAReadonlyOrEditableIfDefined
|
||||
},
|
||||
{ // combobox
|
||||
&nsGkAtoms::combobox,
|
||||
@ -453,7 +453,7 @@ static nsRoleMapEntry sWAIRoleMaps[] =
|
||||
eTableCell,
|
||||
kNoReqStates,
|
||||
eARIASelectable,
|
||||
eARIAReadonly
|
||||
eARIAReadonlyOrEditableIfDefined
|
||||
},
|
||||
{ // scrollbar
|
||||
&nsGkAtoms::scrollbar,
|
||||
|
@ -1601,7 +1601,9 @@ Accessible::ApplyARIAState(uint64_t* aState) const
|
||||
|
||||
// ARIA gridcell inherits editable/readonly states from the grid until it's
|
||||
// overridden.
|
||||
if (mRoleMapEntry->Is(nsGkAtoms::gridcell) &&
|
||||
if ((mRoleMapEntry->Is(nsGkAtoms::gridcell) ||
|
||||
mRoleMapEntry->Is(nsGkAtoms::columnheader) ||
|
||||
mRoleMapEntry->Is(nsGkAtoms::rowheader)) &&
|
||||
!(*aState & (states::READONLY | states::EDITABLE))) {
|
||||
const TableCellAccessible* cell = AsTableCell();
|
||||
if (cell) {
|
||||
|
@ -113,12 +113,29 @@
|
||||
// readonly/editable on grid and gridcell
|
||||
testStates("aria_grid_default", 0, EXT_STATE_EDITABLE,
|
||||
STATE_READONLY, 0);
|
||||
testStates("aria_grid_default_colheader_readonly", STATE_READONLY, 0,
|
||||
0, EXT_STATE_EDITABLE);
|
||||
testStates("aria_grid_default_colheader_inherited", 0, EXT_STATE_EDITABLE,
|
||||
STATE_READONLY, 0);
|
||||
testStates("aria_grid_default_rowheader_readonly", STATE_READONLY, 0,
|
||||
0, EXT_STATE_EDITABLE);
|
||||
testStates("aria_grid_default_rowheader_inherited", 0, EXT_STATE_EDITABLE,
|
||||
STATE_READONLY, 0);
|
||||
testStates("aria_grid_default_cell_readonly", STATE_READONLY, 0,
|
||||
0, EXT_STATE_EDITABLE);
|
||||
testStates("aria_grid_default_cell_inherited", 0, EXT_STATE_EDITABLE,
|
||||
STATE_READONLY, 0);
|
||||
|
||||
testStates("aria_grid_readonly", STATE_READONLY, 0,
|
||||
0, EXT_STATE_EDITABLE);
|
||||
testStates("aria_grid_readonly_colheader_editable", 0, EXT_STATE_EDITABLE,
|
||||
STATE_READONLY, 0);
|
||||
testStates("aria_grid_readonly_colheader_inherited", STATE_READONLY, 0,
|
||||
0, EXT_STATE_EDITABLE);
|
||||
testStates("aria_grid_readonly_rowheader_editable", 0, EXT_STATE_EDITABLE,
|
||||
STATE_READONLY, 0);
|
||||
testStates("aria_grid_readonly_rowheader_inherited", STATE_READONLY, 0,
|
||||
0, EXT_STATE_EDITABLE);
|
||||
testStates("aria_grid_readonly_cell_editable", 0, EXT_STATE_EDITABLE,
|
||||
STATE_READONLY, 0);
|
||||
testStates("aria_grid_readonly_cell_inherited", STATE_READONLY, 0,
|
||||
@ -287,19 +304,45 @@
|
||||
role="textbox" aria-readonly="true">This text should be readonly</div>
|
||||
|
||||
<div id="aria_grid_default" role="grid">
|
||||
<div role="row">
|
||||
<div id="aria_grid_default_colheader_readonly"
|
||||
role="columnheader" aria-readonly="true">colheader1</div>
|
||||
<div id="aria_grid_default_colheader_inherited"
|
||||
role="columnheader">colheader2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div id="aria_grid_default_rowheader_readonly"
|
||||
role="rowheader" aria-readonly="true">rowheader1</div>
|
||||
<div id="aria_grid_default_rowheader_inherited"
|
||||
role="rowheader">rowheader2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div id="aria_grid_default_cell_readonly"
|
||||
role="gridcell" aria-readonly="true">gridcell1</div>
|
||||
<div id="aria_grid_default_cell_inherited"
|
||||
role="gridcell">gridcell2</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="aria_grid_readonly" role="grid" aria-readonly="true">
|
||||
<div role="row">
|
||||
<div id="aria_grid_readonly_colheader_editable"
|
||||
role="columnheader" aria-readonly="false">colheader1</div>
|
||||
<div id="aria_grid_readonly_colheader_inherited"
|
||||
role="columnheader">colheader2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div id="aria_grid_readonly_rowheader_editable"
|
||||
role="rowheader" aria-readonly="false">rowheader1</div>
|
||||
<div id="aria_grid_readonly_rowheader_inherited"
|
||||
role="rowheader">rowheader2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div id="aria_grid_readonly_cell_editable"
|
||||
role="gridcell" aria-readonly="false">gridcell1</div>
|
||||
<div id="aria_grid_readonly_cell_inherited"
|
||||
role="gridcell">gridcell2</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div role="listbox">
|
||||
|
Loading…
x
Reference in New Issue
Block a user