mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-02 14:30:43 +00:00
Backed out 4 changesets (bug 1849160) for causing gv-junit failure on AccessibilityTest#testSelectable CLOSED TREE
Backed out changeset 0fb937f8c362 (bug 1849160) Backed out changeset fe5651e406e5 (bug 1849160) Backed out changeset 8f14ad3ed8b4 (bug 1849160) Backed out changeset 9a745f454db2 (bug 1849160)
This commit is contained in:
parent
8881c16a5b
commit
9115fe463b
@ -1094,7 +1094,7 @@ static const nsRoleMapEntry sWAIRoleMaps[] = {
|
||||
},
|
||||
{ // rowgroup
|
||||
nsGkAtoms::rowgroup,
|
||||
roles::ROWGROUP,
|
||||
roles::GROUPING,
|
||||
kUseMapRole,
|
||||
eNoValue,
|
||||
eNoAction,
|
||||
|
@ -292,7 +292,6 @@ uint32_t AccGroupInfo::TotalItemCount(Accessible* aContainer,
|
||||
case roles::MENUPOPUP:
|
||||
case roles::COMBOBOX:
|
||||
case roles::GROUPING:
|
||||
case roles::ROWGROUP:
|
||||
case roles::TREE_TABLE:
|
||||
case roles::COMBOBOX_LIST:
|
||||
case roles::LISTBOX:
|
||||
|
@ -35,7 +35,7 @@ class TablePartRule : public PivotRule {
|
||||
accRole == roles::TEXT || accRole == roles::TEXT_CONTAINER ||
|
||||
accRole == roles::SECTION ||
|
||||
// Row groups.
|
||||
accRole == roles::ROWGROUP) {
|
||||
accRole == roles::GROUPING) {
|
||||
// Walk inside these, but don't match them.
|
||||
return nsIAccessibleTraversalRule::FILTER_IGNORE;
|
||||
}
|
||||
|
@ -376,7 +376,7 @@ MARKUPMAP(
|
||||
MARKUPMAP(time, New_HyperText, roles::TIME, Attr(xmlroles, time),
|
||||
AttrFromDOM(datetime, datetime))
|
||||
|
||||
MARKUPMAP(tbody, nullptr, roles::ROWGROUP)
|
||||
MARKUPMAP(tbody, nullptr, roles::GROUPING)
|
||||
|
||||
MARKUPMAP(
|
||||
td,
|
||||
@ -392,7 +392,7 @@ MARKUPMAP(
|
||||
},
|
||||
0)
|
||||
|
||||
MARKUPMAP(tfoot, nullptr, roles::ROWGROUP)
|
||||
MARKUPMAP(tfoot, nullptr, roles::GROUPING)
|
||||
|
||||
MARKUPMAP(
|
||||
th,
|
||||
@ -404,7 +404,7 @@ MARKUPMAP(
|
||||
},
|
||||
0)
|
||||
|
||||
MARKUPMAP(thead, nullptr, roles::ROWGROUP)
|
||||
MARKUPMAP(thead, nullptr, roles::GROUPING)
|
||||
|
||||
MARKUPMAP(
|
||||
tr,
|
||||
|
@ -1831,17 +1831,4 @@ ROLE(GRID,
|
||||
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
|
||||
UIA_DataGridControlTypeId,
|
||||
eNameFromSubtreeIfReqRule)
|
||||
|
||||
ROLE(ROWGROUP,
|
||||
"rowgroup",
|
||||
nsGkAtoms::rowgroup,
|
||||
ATK_ROLE_PANEL,
|
||||
NSAccessibilityGroupRole,
|
||||
NSAccessibilityUnknownSubrole,
|
||||
ROLE_SYSTEM_GROUPING,
|
||||
ROLE_SYSTEM_GROUPING,
|
||||
java::SessionAccessibility::CLASSNAME_VIEW,
|
||||
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
|
||||
UIA_GroupControlTypeId,
|
||||
eNameFromSubtreeIfReqRule)
|
||||
// clang-format on
|
||||
|
@ -122,7 +122,7 @@ static LocalAccessible* MaybeCreateSpecificARIAAccessible(
|
||||
if (!parent) {
|
||||
return nullptr;
|
||||
}
|
||||
if (!parent->IsTable() && parent->Role() == roles::ROWGROUP) {
|
||||
if (!parent->IsTable() && parent->Role() == roles::GROUPING) {
|
||||
parent = parent->GetNonGenericParent();
|
||||
if (!parent) {
|
||||
return nullptr;
|
||||
|
@ -569,7 +569,8 @@ nsStaticAtom* Accessible::ComputedARIARole() const {
|
||||
roleMap->roleAtom != nsGkAtoms::form &&
|
||||
(roleMap->roleRule == kUseNativeRole || roleMap->IsOfType(eLandmark) ||
|
||||
roleMap->roleAtom == nsGkAtoms::alertdialog ||
|
||||
roleMap->roleAtom == nsGkAtoms::feed)) {
|
||||
roleMap->roleAtom == nsGkAtoms::feed ||
|
||||
roleMap->roleAtom == nsGkAtoms::rowgroup)) {
|
||||
// Explicit ARIA role (e.g. specified via the role attribute) which does not
|
||||
// map to a unique Gecko role.
|
||||
return roleMap->roleAtom;
|
||||
@ -582,6 +583,15 @@ nsStaticAtom* Accessible::ComputedARIARole() const {
|
||||
// Landmark role from native markup; e.g. <main>, <nav>.
|
||||
return LandmarkRole();
|
||||
}
|
||||
if (geckoRole == roles::GROUPING) {
|
||||
// Gecko doesn't differentiate between group and rowgroup. It uses
|
||||
// roles::GROUPING for both.
|
||||
nsAtom* tag = TagName();
|
||||
if (tag == nsGkAtoms::tbody || tag == nsGkAtoms::tfoot ||
|
||||
tag == nsGkAtoms::thead) {
|
||||
return nsGkAtoms::rowgroup;
|
||||
}
|
||||
}
|
||||
// Role from native markup or layout.
|
||||
#define ROLE(_geckoRole, stringRole, ariaRole, atkRole, macRole, macSubrole, \
|
||||
msaaRole, ia2Role, androidClass, iosIsElement, uiaControlType, \
|
||||
|
@ -185,46 +185,6 @@ class Accessible {
|
||||
*/
|
||||
bool IsBefore(const Accessible* aAcc) const;
|
||||
|
||||
/**
|
||||
* A utility enum for controlling FindAncestorIf.
|
||||
* Continue: this is not the desired ancestor node, keep searching
|
||||
* Found: this is the desired ancestor node
|
||||
* NotFound: this is not the desired ancestor node, stop searching
|
||||
*/
|
||||
enum class AncestorSearchOption { Continue, Found, NotFound };
|
||||
/**
|
||||
* Return a non-generic ancestor for which the given predicate returns
|
||||
* AncestorSearchOption::Found, if any exist. If none exist, return nullptr.
|
||||
* The predicate may choose to return options from AncestorSearchOption to
|
||||
* control the flow of the ancestor search.
|
||||
*/
|
||||
template <typename Callable>
|
||||
Accessible* FindAncestorIf(Callable&& aPredicate) const {
|
||||
static_assert(
|
||||
std::is_same_v<std::invoke_result_t<Callable, const Accessible&>,
|
||||
AncestorSearchOption>,
|
||||
"Given callable must return AncestorSearchOption.");
|
||||
static_assert(std::is_invocable_v<Callable, const Accessible&>,
|
||||
"Given callable must accept const Accessible&.");
|
||||
Accessible* search = GetNonGenericParent();
|
||||
while (search) {
|
||||
const AncestorSearchOption option = aPredicate(*search);
|
||||
switch (option) {
|
||||
case AncestorSearchOption::Continue:
|
||||
search = search->GetNonGenericParent();
|
||||
continue;
|
||||
case AncestorSearchOption::Found:
|
||||
return search;
|
||||
case AncestorSearchOption::NotFound:
|
||||
return nullptr;
|
||||
default:
|
||||
MOZ_ASSERT(false, "Unhandled AncestorSearchOption");
|
||||
break;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool IsAncestorOf(const Accessible* aAcc) const {
|
||||
for (const Accessible* parent = aAcc->Parent(); parent;
|
||||
parent = parent->Parent()) {
|
||||
|
@ -1891,16 +1891,6 @@ role LocalAccessible::ARIATransformRole(role aRole) const {
|
||||
return roles::COMBOBOX_OPTION;
|
||||
}
|
||||
|
||||
// Orphaned option outside the context of a listbox.
|
||||
const Accessible* listbox = FindAncestorIf([](const Accessible& aAcc) {
|
||||
const role accRole = aAcc.Role();
|
||||
return accRole == roles::LISTBOX ? AncestorSearchOption::Found
|
||||
: accRole == roles::GROUPING ? AncestorSearchOption::Continue
|
||||
: AncestorSearchOption::NotFound;
|
||||
});
|
||||
if (!listbox) {
|
||||
return NativeRole();
|
||||
}
|
||||
} else if (aRole == roles::MENUITEM) {
|
||||
// Menuitem has a submenu.
|
||||
if (mContent->IsElement() &&
|
||||
@ -1910,30 +1900,6 @@ role LocalAccessible::ARIATransformRole(role aRole) const {
|
||||
return roles::PARENT_MENUITEM;
|
||||
}
|
||||
|
||||
// Orphaned menuitem outside the context of a menu/menubar.
|
||||
const Accessible* menu = FindAncestorIf([](const Accessible& aAcc) {
|
||||
const role accRole = aAcc.Role();
|
||||
return (accRole == roles::MENUBAR || accRole == roles::MENUPOPUP)
|
||||
? AncestorSearchOption::Found
|
||||
: accRole == roles::GROUPING ? AncestorSearchOption::Continue
|
||||
: AncestorSearchOption::NotFound;
|
||||
});
|
||||
if (!menu) {
|
||||
return NativeRole();
|
||||
}
|
||||
} else if (aRole == roles::RADIO_MENU_ITEM ||
|
||||
aRole == roles::CHECK_MENU_ITEM) {
|
||||
// Orphaned radio/checkbox menuitem outside the context of a menu/menubar.
|
||||
const Accessible* menu = FindAncestorIf([](const Accessible& aAcc) {
|
||||
const role accRole = aAcc.Role();
|
||||
return (accRole == roles::MENUBAR || accRole == roles::MENUPOPUP)
|
||||
? AncestorSearchOption::Found
|
||||
: accRole == roles::GROUPING ? AncestorSearchOption::Continue
|
||||
: AncestorSearchOption::NotFound;
|
||||
});
|
||||
if (!menu) {
|
||||
return NativeRole();
|
||||
}
|
||||
} else if (aRole == roles::CELL) {
|
||||
// A cell inside an ancestor table element that has a grid role needs a
|
||||
// gridcell role
|
||||
@ -1942,63 +1908,6 @@ role LocalAccessible::ARIATransformRole(role aRole) const {
|
||||
if (table && table->IsARIARole(nsGkAtoms::grid)) {
|
||||
return roles::GRID_CELL;
|
||||
}
|
||||
} else if (aRole == roles::ROW) {
|
||||
// Orphaned rows outside the context of a table.
|
||||
const LocalAccessible* table = nsAccUtils::TableFor(this);
|
||||
if (!table) {
|
||||
return NativeRole();
|
||||
}
|
||||
} else if (aRole == roles::ROWGROUP) {
|
||||
// Orphaned rowgroups outside the context of a table.
|
||||
const Accessible* table = FindAncestorIf([](const Accessible& aAcc) {
|
||||
return aAcc.IsTable() ? AncestorSearchOption::Found
|
||||
: AncestorSearchOption::NotFound;
|
||||
});
|
||||
if (!table) {
|
||||
return NativeRole();
|
||||
}
|
||||
} else if (aRole == roles::GRID_CELL || aRole == roles::ROWHEADER ||
|
||||
aRole == roles::COLUMNHEADER) {
|
||||
// Orphaned gridcell/rowheader/columnheader outside the context of a row.
|
||||
const Accessible* row = FindAncestorIf([](const Accessible& aAcc) {
|
||||
return aAcc.IsTableRow() ? AncestorSearchOption::Found
|
||||
: AncestorSearchOption::NotFound;
|
||||
});
|
||||
if (!row) {
|
||||
return NativeRole();
|
||||
}
|
||||
} else if (aRole == roles::LISTITEM) {
|
||||
// doc-biblioentry and doc-endnote should not be treated as listitems.
|
||||
const nsRoleMapEntry* roleMapEntry = ARIARoleMap();
|
||||
if (!roleMapEntry || (roleMapEntry->roleAtom != nsGkAtoms::docBiblioentry &&
|
||||
roleMapEntry->roleAtom != nsGkAtoms::docEndnote)) {
|
||||
// Orphaned listitem outside the context of a list.
|
||||
const Accessible* list = FindAncestorIf([](const Accessible& aAcc) {
|
||||
return aAcc.IsList() ? AncestorSearchOption::Found
|
||||
: AncestorSearchOption::Continue;
|
||||
});
|
||||
if (!list) {
|
||||
return NativeRole();
|
||||
}
|
||||
}
|
||||
} else if (aRole == roles::PAGETAB) {
|
||||
// Orphaned tab outside the context of a tablist.
|
||||
const Accessible* tablist = FindAncestorIf([](const Accessible& aAcc) {
|
||||
return aAcc.Role() == roles::PAGETABLIST ? AncestorSearchOption::Found
|
||||
: AncestorSearchOption::NotFound;
|
||||
});
|
||||
if (!tablist) {
|
||||
return NativeRole();
|
||||
}
|
||||
} else if (aRole == roles::OUTLINEITEM) {
|
||||
// Orphaned treeitem outside the context of a tree.
|
||||
const Accessible* tree = FindAncestorIf([](const Accessible& aAcc) {
|
||||
return aAcc.Role() == roles::OUTLINE ? AncestorSearchOption::Found
|
||||
: AncestorSearchOption::Continue;
|
||||
});
|
||||
if (!tree) {
|
||||
return NativeRole();
|
||||
}
|
||||
}
|
||||
|
||||
return aRole;
|
||||
@ -2206,14 +2115,12 @@ Relation LocalAccessible::RelationByType(RelationType aType) const {
|
||||
if (roleMapEntry && (roleMapEntry->role == roles::OUTLINEITEM ||
|
||||
roleMapEntry->role == roles::LISTITEM ||
|
||||
roleMapEntry->role == roles::ROW)) {
|
||||
AccGroupInfo* groupInfo =
|
||||
const_cast<LocalAccessible*>(this)->GetOrCreateGroupInfo();
|
||||
if (groupInfo) {
|
||||
Accessible* parent = groupInfo->ConceptualParent();
|
||||
if (parent) {
|
||||
MOZ_ASSERT(parent->IsLocal());
|
||||
rel.AppendTarget(parent->AsLocal());
|
||||
}
|
||||
Accessible* parent = const_cast<LocalAccessible*>(this)
|
||||
->GetOrCreateGroupInfo()
|
||||
->ConceptualParent();
|
||||
if (parent) {
|
||||
MOZ_ASSERT(parent->IsLocal());
|
||||
rel.AppendTarget(parent->AsLocal());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -806,11 +806,4 @@ interface nsIAccessibleRole : nsISupports
|
||||
* by using methods of two-dimensional navigation.
|
||||
*/
|
||||
const unsigned long ROLE_GRID = 138;
|
||||
|
||||
/**
|
||||
* Represents a structure containing one or more row elements in a tabular
|
||||
* container. It is the structural equivalent to the thead, tfoot, and tbody
|
||||
* elements in an HTML table element.
|
||||
*/
|
||||
const unsigned long ROLE_ROWGROUP = 139;
|
||||
};
|
||||
|
@ -73,8 +73,8 @@ addAccessibleTask(
|
||||
<div id="switch" role="switch"></div>
|
||||
<div id="timer" role="timer"></div>
|
||||
<div id="tooltip" role="tooltip"></div>
|
||||
<div role="menu"><input type="radio" role="menuitemradio" id="menuitemradio"></div>
|
||||
<div role="menu"><input type="checkbox" role="menuitemcheckbox" id="menuitemcheckbox"></div>
|
||||
<input type="radio" role="menuitemradio" id="menuitemradio">
|
||||
<input type="checkbox" role="menuitemcheckbox" id="menuitemcheckbox">
|
||||
<input type="datetime-local" id="datetime">
|
||||
|
||||
<!-- text entries -->
|
||||
|
@ -14,9 +14,7 @@ addAccessibleTask(
|
||||
<div id="ariaDirectory" role="directory">ARIA directory</div>
|
||||
<div id="ariaAlertdialog" role="alertdialog">ARIA alertdialog</div>
|
||||
<div id="ariaFeed" role="feed">ARIA feed</div>
|
||||
<div role="table">
|
||||
<div id="ariaRowgroup" role="rowgroup">ARIA rowgroup</div>
|
||||
</div>
|
||||
<div id="ariaRowgroup" role="rowgroup">ARIA rowgroup</div>
|
||||
<div id="ariaSearchbox" role="searchbox">ARIA searchbox</div>
|
||||
<div id="ariaUnknown" role="unknown">unknown ARIA role</div>
|
||||
<button id="htmlButton">HTML button</button>
|
||||
|
@ -196,19 +196,17 @@
|
||||
</menulist>
|
||||
|
||||
<vbox>
|
||||
<div role="menu">
|
||||
<description role="menuitem" id="aria-menuitem"
|
||||
value="conventional menuitem"/>
|
||||
<description role="menuitemcheckbox" id="aria-menuitemcheckbox"
|
||||
value="conventional checkbox menuitem"/>
|
||||
<description role="menuitem" hidden="true"/>
|
||||
<description role="menuitemradio" id="aria-menuitemradio"
|
||||
value="conventional radio menuitem"/>
|
||||
<description role="separator"
|
||||
value="conventional separator"/>
|
||||
<description role="menuitem" id="aria-menuitem2"
|
||||
value="conventional menuitem"/>
|
||||
</div>
|
||||
<description role="menuitem" id="aria-menuitem"
|
||||
value="conventional menuitem"/>
|
||||
<description role="menuitemcheckbox" id="aria-menuitemcheckbox"
|
||||
value="conventional checkbox menuitem"/>
|
||||
<description role="menuitem" hidden="true"/>
|
||||
<description role="menuitemradio" id="aria-menuitemradio"
|
||||
value="conventional radio menuitem"/>
|
||||
<description role="separator"
|
||||
value="conventional separator"/>
|
||||
<description role="menuitem" id="aria-menuitem2"
|
||||
value="conventional menuitem"/>
|
||||
</vbox>
|
||||
|
||||
</vbox>
|
||||
|
@ -713,21 +713,17 @@
|
||||
<div id="grouping" role="group">label</div>
|
||||
<button id="requested_name_from_grouping"aria-labelledby="grouping"></button>
|
||||
<!-- Name from sub tree of tbody marked as display:block;, which is also a grouping -->
|
||||
<div role="list">
|
||||
<div id="listitem_containing_block_tbody" role="listitem">
|
||||
<table>
|
||||
<tbody style="display: block;">
|
||||
<tr><td>label</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="listitem_containing_block_tbody" role="listitem">
|
||||
<table>
|
||||
<tbody style="display: block;">
|
||||
<tr><td>label</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- Name from subtree of treeitem containing grouping -->
|
||||
<div role="tree">
|
||||
<div id="treeitem_containing_grouping" role="treeitem" aria-level="1" aria-expanded="true">root
|
||||
<div role="group">
|
||||
<div role="treeitem" aria-level="2">sub</div>
|
||||
</div>
|
||||
<div id="treeitem_containing_grouping" role="treeitem" aria-level="1" aria-expanded="true">root
|
||||
<div role="group">
|
||||
<div role="treeitem" aria-level="2">sub</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -739,13 +735,11 @@
|
||||
</div>
|
||||
|
||||
<!-- Text nodes and inline elements. -->
|
||||
<div role="listbox">
|
||||
<div id="container_text_inline" role="option">a<strong>b</strong>c</div>
|
||||
<!-- Text nodes and block elements. -->
|
||||
<div id="container_text_block" role="option">a<p>b</p>c</div>
|
||||
<!-- Text nodes and empty block elements. -->
|
||||
<div id="container_text_emptyblock" role="option">a<p></p><p></p>b</div>
|
||||
</div>
|
||||
<div id="container_text_inline" role="option">a<strong>b</strong>c</div>
|
||||
<!-- Text nodes and block elements. -->
|
||||
<div id="container_text_block" role="option">a<p>b</p>c</div>
|
||||
<!-- Text nodes and empty block elements. -->
|
||||
<div id="container_text_emptyblock" role="option">a<p></p><p></p>b</div>
|
||||
|
||||
<!-- aria-labelledby referring to a slot -->
|
||||
<div id="shadowHost">
|
||||
|
@ -42,6 +42,8 @@
|
||||
testRole("aria_checkbox_mixed", ROLE_CHECKBUTTON);
|
||||
testRole("aria_code", ROLE_CODE);
|
||||
testRole("aria_code_mixed", ROLE_CODE);
|
||||
testRole("aria_columnheader", ROLE_COLUMNHEADER);
|
||||
testRole("aria_columnheader_mixed", ROLE_COLUMNHEADER);
|
||||
testRole("aria_combobox", ROLE_EDITCOMBOBOX);
|
||||
testRole("aria_combobox_mixed", ROLE_EDITCOMBOBOX);
|
||||
testRole("aria_comment", ROLE_COMMENT);
|
||||
@ -64,6 +66,8 @@
|
||||
testRole("aria_figure_mixed", ROLE_FIGURE);
|
||||
testRole("aria_grid", ROLE_GRID);
|
||||
testRole("aria_grid_mixed", ROLE_GRID);
|
||||
testRole("aria_gridcell", ROLE_GRID_CELL);
|
||||
testRole("aria_gridcell_mixed", ROLE_GRID_CELL);
|
||||
testRole("aria_group", ROLE_GROUPING);
|
||||
testRole("aria_group_mixed", ROLE_GROUPING);
|
||||
testRole("aria_heading", ROLE_HEADING);
|
||||
@ -78,6 +82,8 @@
|
||||
testRole("aria_list_mixed", ROLE_LIST);
|
||||
testRole("aria_listbox", ROLE_LISTBOX);
|
||||
testRole("aria_listbox_mixed", ROLE_LISTBOX);
|
||||
testRole("aria_listitem", ROLE_LISTITEM);
|
||||
testRole("aria_listitem_mixed", ROLE_LISTITEM);
|
||||
testRole("aria_log", ROLE_TEXT); // weak role
|
||||
testRole("aria_log_mixed", ROLE_TEXT); // weak role
|
||||
testRole("aria_mark", ROLE_MARK);
|
||||
@ -90,6 +96,12 @@
|
||||
testRole("aria_menu_mixed", ROLE_MENUPOPUP);
|
||||
testRole("aria_menubar", ROLE_MENUBAR);
|
||||
testRole("aria_menubar_mixed", ROLE_MENUBAR);
|
||||
testRole("aria_menuitem", ROLE_MENUITEM);
|
||||
testRole("aria_menuitem_mixed", ROLE_MENUITEM);
|
||||
testRole("aria_menuitemcheckbox", ROLE_CHECK_MENU_ITEM);
|
||||
testRole("aria_menuitemcheckbox_mixed", ROLE_CHECK_MENU_ITEM);
|
||||
testRole("aria_menuitemradio", ROLE_RADIO_MENU_ITEM);
|
||||
testRole("aria_menuitemradio_mixed", ROLE_RADIO_MENU_ITEM);
|
||||
testRole("aria_meter", ROLE_METER);
|
||||
testRole("aria_meter_mixed", ROLE_METER);
|
||||
testRole("aria_note", ROLE_NOTE);
|
||||
@ -118,6 +130,10 @@
|
||||
testRole("aria_region_as_table_with_caption_mixed", ROLE_REGION);
|
||||
testRole("aria_region_as_table_with_miscaption", ROLE_TABLE);
|
||||
testRole("aria_region_as_table_with_miscaption_mixed", ROLE_TABLE);
|
||||
testRole("aria_row", ROLE_ROW);
|
||||
testRole("aria_row_mixed", ROLE_ROW);
|
||||
testRole("aria_rowheader", ROLE_ROWHEADER);
|
||||
testRole("aria_rowheader_mixed", ROLE_ROWHEADER);
|
||||
testRole("aria_scrollbar", ROLE_SCROLLBAR);
|
||||
testRole("aria_scrollbar_mixed", ROLE_SCROLLBAR);
|
||||
testRole("aria_searchbox", ROLE_ENTRY);
|
||||
@ -138,6 +154,8 @@
|
||||
testRole("aria_superscript_mixed", ROLE_SUPERSCRIPT);
|
||||
testRole("aria_switch", ROLE_SWITCH);
|
||||
testRole("aria_switch_mixed", ROLE_SWITCH);
|
||||
testRole("aria_tab", ROLE_PAGETAB);
|
||||
testRole("aria_tab_mixed", ROLE_PAGETAB);
|
||||
testRole("aria_tablist", ROLE_PAGETABLIST);
|
||||
testRole("aria_tablist_mixed", ROLE_PAGETABLIST);
|
||||
testRole("aria_tabpanel", ROLE_PROPERTYPAGE);
|
||||
@ -156,6 +174,8 @@
|
||||
testRole("aria_tree_mixed", ROLE_OUTLINE);
|
||||
testRole("aria_treegrid", ROLE_TREE_TABLE);
|
||||
testRole("aria_treegrid_mixed", ROLE_TREE_TABLE);
|
||||
testRole("aria_treeitem", ROLE_OUTLINEITEM);
|
||||
testRole("aria_treeitem_mixed", ROLE_OUTLINEITEM);
|
||||
|
||||
// Note:
|
||||
// The phrase "weak foo" here means that there is no good foo-to-platform
|
||||
@ -241,29 +261,6 @@
|
||||
testRole("implicit_gridcell", ROLE_GRID_CELL);
|
||||
testRole("implicit_gridcell_mixed", ROLE_GRID_CELL);
|
||||
|
||||
// ////////////////////////////////////////////////////////////////////////
|
||||
// child roles dependent on ancestor role presence
|
||||
testRole("aria_columnheader", ROLE_COLUMNHEADER);
|
||||
testRole("aria_columnheader_mixed", ROLE_COLUMNHEADER);
|
||||
testRole("aria_gridcell", ROLE_GRID_CELL);
|
||||
testRole("aria_gridcell_mixed", ROLE_GRID_CELL);
|
||||
testRole("aria_rowheader", ROLE_ROWHEADER);
|
||||
testRole("aria_rowheader_mixed", ROLE_ROWHEADER);
|
||||
testRole("aria_listitem", ROLE_LISTITEM);
|
||||
testRole("aria_listitem_mixed", ROLE_LISTITEM);
|
||||
testRole("aria_menuitem", ROLE_MENUITEM);
|
||||
testRole("aria_menuitem_mixed", ROLE_MENUITEM);
|
||||
testRole("aria_menuitemcheckbox", ROLE_CHECK_MENU_ITEM);
|
||||
testRole("aria_menuitemcheckbox_mixed", ROLE_CHECK_MENU_ITEM);
|
||||
testRole("aria_menuitemradio", ROLE_RADIO_MENU_ITEM);
|
||||
testRole("aria_menuitemradio_mixed", ROLE_RADIO_MENU_ITEM);
|
||||
testRole("aria_row", ROLE_ROW);
|
||||
testRole("aria_row_mixed", ROLE_ROW);
|
||||
testRole("aria_tab", ROLE_PAGETAB);
|
||||
testRole("aria_tab_mixed", ROLE_PAGETAB);
|
||||
testRole("aria_treeitem", ROLE_OUTLINEITEM);
|
||||
testRole("aria_treeitem_mixed", ROLE_OUTLINEITEM);
|
||||
|
||||
// ////////////////////////////////////////////////////////////////////////
|
||||
// ignore unknown roles, take first known
|
||||
testRole("unknown_roles", ROLE_PUSHBUTTON);
|
||||
@ -403,6 +400,8 @@
|
||||
<span id="aria_checkbox_mixed" role="cHECKBOx"></span>
|
||||
<span id="aria_code" role="code"></span>
|
||||
<span id="aria_code_mixed" role="cODe"></span>
|
||||
<span id="aria_columnheader" role="columnheader"></span>
|
||||
<span id="aria_columnheader_mixed" role="cOLUMNHEADEr"></span>
|
||||
<span id="aria_combobox" role="combobox"></span>
|
||||
<span id="aria_combobox_mixed" role="cOMBOBOx"></span>
|
||||
<span id="aria_comment" role="comment"></span>
|
||||
@ -425,6 +424,8 @@
|
||||
<span id="aria_figure_mixed" role="fIGURe"></span>
|
||||
<span id="aria_grid" role="grid"></span>
|
||||
<span id="aria_grid_mixed" role="gRId"></span>
|
||||
<span id="aria_gridcell" role="gridcell"></span>
|
||||
<span id="aria_gridcell_mixed" role="gRIDCELl"></span>
|
||||
<span id="aria_group" role="group"></span>
|
||||
<span id="aria_group_mixed" role="gROUp"></span>
|
||||
<span id="aria_heading" role="heading"></span>
|
||||
@ -439,6 +440,8 @@
|
||||
<span id="aria_list_mixed" role="lISt"></span>
|
||||
<span id="aria_listbox" role="listbox"></span>
|
||||
<span id="aria_listbox_mixed" role="lISTBOx"></span>
|
||||
<span id="aria_listitem" role="listitem"></span>
|
||||
<span id="aria_listitem_mixed" role="lISTITEm"></span>
|
||||
<span id="aria_log" role="log"></span>
|
||||
<span id="aria_log_mixed" role="lOg"></span>
|
||||
<span id="aria_mark" role="mark"></span>
|
||||
@ -451,6 +454,12 @@
|
||||
<span id="aria_menu_mixed" role="mENu"></span>
|
||||
<span id="aria_menubar" role="menubar"></span>
|
||||
<span id="aria_menubar_mixed" role="mENUBAr"></span>
|
||||
<span id="aria_menuitem" role="menuitem"></span>
|
||||
<span id="aria_menuitem_mixed" role="mENUITEm"></span>
|
||||
<span id="aria_menuitemcheckbox" role="menuitemcheckbox"></span>
|
||||
<span id="aria_menuitemcheckbox_mixed" role="mENUITEMCHECKBOx"></span>
|
||||
<span id="aria_menuitemradio" role="menuitemradio"></span>
|
||||
<span id="aria_menuitemradio_mixed" role="mENUITEMRADIo"></span>
|
||||
<span id="aria_meter" role="meter"></span>
|
||||
<span id="aria_meter_mixed" role="meTer"></span>
|
||||
<span id="aria_note" role="note"></span>
|
||||
@ -479,6 +488,10 @@
|
||||
<table id="aria_region_as_table_with_caption_mixed" role="rEGIOn"><caption>hello</caption></table>
|
||||
<table id="aria_region_as_table_with_miscaption" role="region"><caption role="option">hello</caption></table>
|
||||
<table id="aria_region_as_table_with_miscaption_mixed" role="rEGIOn"><caption role="option">hello</caption></table>
|
||||
<span id="aria_row" role="row"></span>
|
||||
<span id="aria_row_mixed" role="rOw"></span>
|
||||
<span id="aria_rowheader" role="rowheader"></span>
|
||||
<span id="aria_rowheader_mixed" role="rOWHEADEr"></span>
|
||||
<span id="aria_scrollbar" role="scrollbar"></span>
|
||||
<span id="aria_scrollbar_mixed" role="sCROLLBAr"></span>
|
||||
<span id="aria_searchbox" role="textbox"></span>
|
||||
@ -499,6 +512,8 @@
|
||||
<span id="aria_superscript_mixed" role="sUPERSCRIPt"></span>
|
||||
<span id="aria_switch" role="switch"></span>
|
||||
<span id="aria_switch_mixed" role="sWITCh"></span>
|
||||
<span id="aria_tab" role="tab"></span>
|
||||
<span id="aria_tab_mixed" role="tAb"></span>
|
||||
<span id="aria_tablist" role="tablist"></span>
|
||||
<span id="aria_tablist_mixed" role="tABLISt"></span>
|
||||
<span id="aria_tabpanel" role="tabpanel"></span>
|
||||
@ -517,6 +532,8 @@
|
||||
<span id="aria_tree_mixed" role="tREe"></span>
|
||||
<span id="aria_treegrid" role="treegrid"></span>
|
||||
<span id="aria_treegrid_mixed" role="tREEGRId"></span>
|
||||
<span id="aria_treeitem" role="treeitem"></span>
|
||||
<span id="aria_treeitem_mixed" role="tREEITEm"></span>
|
||||
|
||||
<article id="articlemain" role="main">a main area</article>
|
||||
<article id="articlemain_mixed" role="mAIn">a main area</article>
|
||||
@ -648,42 +665,6 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- child roles dependent on ancestor role presence -->
|
||||
<div role="grid">
|
||||
<div role="row">
|
||||
<span id="aria_columnheader" role="columnheader"></span>
|
||||
<span id="aria_columnheader_mixed" role="cOLUMNHEADEr"></span>
|
||||
<span id="aria_gridcell" role="gridcell"></span>
|
||||
<span id="aria_gridcell_mixed" role="gRIDCELl"></span>
|
||||
<span id="aria_rowheader" role="rowheader"></span>
|
||||
<span id="aria_rowheader_mixed" role="rOWHEADEr"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div role="list">
|
||||
<span id="aria_listitem" role="listitem"></span>
|
||||
<span id="aria_listitem_mixed" role="lISTITEm"></span>
|
||||
</div>
|
||||
<div role="menu">
|
||||
<span id="aria_menuitem" role="menuitem"></span>
|
||||
<span id="aria_menuitem_mixed" role="mENUITEm"></span>
|
||||
<span id="aria_menuitemcheckbox" role="menuitemcheckbox"></span>
|
||||
<span id="aria_menuitemcheckbox_mixed" role="mENUITEMCHECKBOx"></span>
|
||||
<span id="aria_menuitemradio" role="menuitemradio"></span>
|
||||
<span id="aria_menuitemradio_mixed" role="mENUITEMRADIo"></span>
|
||||
</div>
|
||||
<div role="table">
|
||||
<span id="aria_row" role="row"></span>
|
||||
<span id="aria_row_mixed" role="rOw"></span>
|
||||
</div>
|
||||
<div role="tablist">
|
||||
<span id="aria_tab" role="tab"></span>
|
||||
<span id="aria_tab_mixed" role="tAb"></span>
|
||||
</div>
|
||||
<div role="tree">
|
||||
<span id="aria_treeitem" role="treeitem"></span>
|
||||
<span id="aria_treeitem_mixed" role="tREEITEm"></span>
|
||||
</div>
|
||||
|
||||
<!-- roles transformed by ARIA state attributes -->
|
||||
<button aria-pressed="true" id="togglebutton"></button>
|
||||
<button aria-pressed="tRUe" id="togglebutton_mixed"></button>
|
||||
|
@ -306,10 +306,8 @@ addA11yLoadEvent(runTest);
|
||||
<custom-orientation id="default-orientation"></custom-orientation>
|
||||
<custom-orientation id="custom-orientation" aria-orientation="horizontal"></custom-orientation>
|
||||
|
||||
<div role="listbox">
|
||||
<custom-posinset id="default-posinset"></custom-posinset>
|
||||
<custom-posinset id="custom-posinset" aria-posinset="2"></custom-posinset>
|
||||
</div>
|
||||
<custom-posinset id="default-posinset"></custom-posinset>
|
||||
<custom-posinset id="custom-posinset" aria-posinset="2"></custom-posinset>
|
||||
|
||||
<custom-pressed id="default-pressed"></custom-pressed>
|
||||
<custom-pressed id="custom-pressed" aria-pressed="false"></custom-pressed>
|
||||
@ -347,10 +345,10 @@ addA11yLoadEvent(runTest);
|
||||
<custom-selected id="default-selected"></custom-selected>
|
||||
<custom-selected id="custom-selected" aria-selected="false"></custom-selected>
|
||||
|
||||
<div role="list">
|
||||
<div role="listbox">
|
||||
<custom-setsize id="default-setsize"></custom-setsize>
|
||||
</div>
|
||||
<div role="list">
|
||||
<div role="listbox">
|
||||
<custom-setsize id="custom-setsize" aria-setsize="2"></custom-setsize>
|
||||
<div role="listitem" aria-setsize="2"></div>
|
||||
</div>
|
||||
|
@ -53,11 +53,11 @@
|
||||
] },
|
||||
] },
|
||||
{ SECTION: [
|
||||
{ SECTION: [
|
||||
{ LISTITEM: [
|
||||
{ TEXT_LEAF: [ ] }
|
||||
] },
|
||||
] },
|
||||
{ SECTION: [
|
||||
{ LISTITEM: [
|
||||
{ TEXT_LEAF: [ ] }
|
||||
] },
|
||||
] };
|
||||
@ -93,63 +93,63 @@
|
||||
</pre>
|
||||
|
||||
<div id="gridWithoutDisplayContents" role="grid">
|
||||
<div role="row">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
<div role="row">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="gridWithDisplayContents" role="grid" style="display:contents;">
|
||||
<div role="row">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
<div role="row">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="gridWithDisplayContentsRow" role="grid">
|
||||
<div role="row" style="display:contents;">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
<div role="row" style="display:contents;">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="gridWithDisplayContentsColHeader" role="grid">
|
||||
<div role="row">
|
||||
<div role="columnheader" style="display:contents;">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
<div role="row">
|
||||
<div role="columnheader" style="display:contents;">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="gridWithDisplayContentsRowHeader" role="grid">
|
||||
<div role="row">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader" style="display:contents;">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
<div role="row">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader" style="display:contents;">row1</div>
|
||||
<div role="gridcell">cell1</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="gridWithDisplayContentsGridCell" role="grid">
|
||||
<div role="row">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell" style="display:contents;">cell1</div>
|
||||
<div role="row">
|
||||
<div role="columnheader">col1</div>
|
||||
<div role="columnheader">col2</div>
|
||||
</div>
|
||||
<div role="row">
|
||||
<div role="rowheader">row1</div>
|
||||
<div role="gridcell" style="display:contents;">cell1</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
var accTree =
|
||||
{ GRID: [
|
||||
{ ROWGROUP: [
|
||||
{ GROUPING: [
|
||||
{ ROW: [
|
||||
{ GRID_CELL: [
|
||||
{ TEXT_LEAF: [ ] },
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
var accTree =
|
||||
{ TABLE: [
|
||||
{ ROWGROUP: [
|
||||
{ GROUPING: [
|
||||
{ ROW: [
|
||||
{ CELL: [
|
||||
{ TEXT_LEAF: [ ] },
|
||||
|
@ -41,7 +41,7 @@ function doTest() {
|
||||
|
||||
tree =
|
||||
{ TABLE: [
|
||||
{ ROWGROUP : [
|
||||
{ GROUPING : [
|
||||
{ ROW: [
|
||||
{ CELL: [{ TEXT_LEAF: [] } ] },
|
||||
{ CELL: [{ TEXT_LEAF: [] } ] },
|
||||
|
@ -283,7 +283,7 @@
|
||||
// The tbody should get a grouping accessible.
|
||||
accTree =
|
||||
{ TABLE: [
|
||||
{ ROWGROUP: [
|
||||
{ GROUPING: [
|
||||
{ ROW: [
|
||||
{ CELL: [
|
||||
{ TEXT_LEAF: [ ] },
|
||||
|
@ -95,10 +95,8 @@
|
||||
<div role="grid" aria-label="Interactive grid">
|
||||
<div id="columnheader-1" role="columnheader"></div>
|
||||
<div id="rowheader-1" role="rowheader"></div>
|
||||
<div role="row">
|
||||
<div id="gridcell-1" role="gridcell"></div>
|
||||
<div id="gridcell-2" role="gridcell" tabindex="0"></div>
|
||||
</div>
|
||||
<div id="gridcell-1" role="gridcell"></div>
|
||||
<div id="gridcell-2" role="gridcell" tabindex="0"></div>
|
||||
</div>
|
||||
<div role="table" aria-label="Non-interactive table">
|
||||
<div id="columnheader-2" role="columnheader"></div>
|
||||
|
@ -61,17 +61,13 @@
|
||||
<tr><th id="rowheader-7" scope="row" aria-labelledby="columnheader-7-label"></th></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div role="grid">
|
||||
<div role="row">
|
||||
<div role="columnheader" id="columnheader-8">Film Title</div>
|
||||
<div role="columnheader" id="columnheader-9"></div>
|
||||
<div role="columnheader" id="columnheader-10"> </div>
|
||||
<div role="columnheader" id="columnheader-11" aria-label="Worldwide Gross"></div>
|
||||
<div role="columnheader" id="columnheader-12" aria-label=""></div>
|
||||
<div role="columnheader" id="columnheader-13" aria-label=" "></div>
|
||||
<div role="columnheader" id="columnheader-14" aria-labelledby="columnheader-7-label"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div role="columnheader" id="columnheader-8">Film Title</div>
|
||||
<div role="columnheader" id="columnheader-9"></div>
|
||||
<div role="columnheader" id="columnheader-10"> </div>
|
||||
<div role="columnheader" id="columnheader-11" aria-label="Worldwide Gross"></div>
|
||||
<div role="columnheader" id="columnheader-12" aria-label=""></div>
|
||||
<div role="columnheader" id="columnheader-13" aria-label=" "></div>
|
||||
<div role="columnheader" id="columnheader-14" aria-labelledby="columnheader-7-label"></div>
|
||||
<label for="combobox-1">Choose a pet:</label>
|
||||
<select id="combobox-1">
|
||||
<option id="combobox-option-1" value="">--Please choose an option--</option>
|
||||
@ -267,16 +263,14 @@
|
||||
<mi><mglyph id="mglyph-5" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAJklEQVRIie3NMREAAAgAoe9fWls4eAzMVM0xoVAoFAqFQqFQ+C9chp4NHvu+4Q4AAAAASUVORK5CYII=" alt=""/></mi>
|
||||
<mi><mglyph id="mglyph-6" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAJklEQVRIie3NMREAAAgAoe9fWls4eAzMVM0xoVAoFAqFQqFQ+C9chp4NHvu+4Q4AAAAASUVORK5CYII=" aria-labelledby="mglyph-6-label"/></mi>
|
||||
</math>
|
||||
<div role="menu">
|
||||
<span id="menuitem-1" role="menuitem"></span>
|
||||
<span id="menuitem-2" aria-label="" role="menuitem"></span>
|
||||
<span id="menuitem-3" aria-label="Menu Item" role="menuitem"></span>
|
||||
<p id="menuitem-4-label">Menu Item</p>
|
||||
<span id="menuitem-4" aria-labelledby="menuitem-4-label" role="menuitem"></span>
|
||||
<p id="menuitem-5-label"></p>
|
||||
<span id="menuitem-5" aria-labelledby="menuitem-5-label" role="menuitem"></span>
|
||||
<span id="menuitem-6" role="menuitem">Menu Item</span>
|
||||
</div>
|
||||
<span id="menuitem-1" role="menuitem"></span>
|
||||
<span id="menuitem-2" aria-label="" role="menuitem"></span>
|
||||
<span id="menuitem-3" aria-label="Menu Item" role="menuitem"></span>
|
||||
<p id="menuitem-4-label">Menu Item</p>
|
||||
<span id="menuitem-4" aria-labelledby="menuitem-4-label" role="menuitem"></span>
|
||||
<p id="menuitem-5-label"></p>
|
||||
<span id="menuitem-5" aria-labelledby="menuitem-5-label" role="menuitem"></span>
|
||||
<span id="menuitem-6" role="menuitem">Menu Item</span>
|
||||
<label for="listbox-1">Choose a pet:</label>
|
||||
<select id="listbox-1" size="6">
|
||||
<option id="option-1" value="">--Please choose an option--</option>
|
||||
@ -305,16 +299,14 @@
|
||||
<p id="option-15-label"> </p>
|
||||
<div role="option" id="option-15" aria-labelledby="option-15-label"></div>
|
||||
</div>
|
||||
<div role="tree">
|
||||
<span id="treeitem-1" role="treeitem"></span>
|
||||
<span id="treeitem-2" aria-label="" role="treeitem"></span>
|
||||
<span id="treeitem-3" aria-label="Tree Item" role="treeitem"></span>
|
||||
<p id="treeitem-4-label">Tree Item</p>
|
||||
<span id="treeitem-4" aria-labelledby="treeitem-4-label" role="treeitem"></span>
|
||||
<p id="treeitem-5-label"></p>
|
||||
<span id="treeitem-5" aria-labelledby="treeitem-5-label" role="treeitem"></span>
|
||||
<span id="treeitem-6" role="treeitem">Tree Item</span>
|
||||
</div>
|
||||
<span id="treeitem-1" role="treeitem"></span>
|
||||
<span id="treeitem-2" aria-label="" role="treeitem"></span>
|
||||
<span id="treeitem-3" aria-label="Tree Item" role="treeitem"></span>
|
||||
<p id="treeitem-4-label">Tree Item</p>
|
||||
<span id="treeitem-4" aria-labelledby="treeitem-4-label" role="treeitem"></span>
|
||||
<p id="treeitem-5-label"></p>
|
||||
<span id="treeitem-5" aria-labelledby="treeitem-5-label" role="treeitem"></span>
|
||||
<span id="treeitem-6" role="treeitem">Tree Item</span>
|
||||
<div role="tablist">
|
||||
<span id="tab-1" role="tab"></span>
|
||||
<span id="tab-2" aria-label="" role="tab"></span>
|
||||
@ -376,17 +368,13 @@
|
||||
<div id="menuitemradio-2" role="menuitemradio"></div>
|
||||
<div id="menuitemradio-3" role="menuitemradio"> </div>
|
||||
</div>
|
||||
<div role="grid">
|
||||
<div role="row">
|
||||
<div role="rowheader" id="rowheader-8">Toy Story 3</div>
|
||||
<div role="rowheader" id="rowheader-9"></div>
|
||||
<div role="rowheader" id="rowheader-10"> </div>
|
||||
<div role="rowheader" id="rowheader-11" aria-label="Alladin"></div>
|
||||
<div role="rowheader" id="rowheader-12" aria-label=""></div>
|
||||
<div role="rowheader" id="rowheader-13" aria-label=" "></div>
|
||||
<div role="rowheader" id="rowheader-14" aria-labelledby="columnheader-7-label"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div role="rowheader" id="rowheader-8">Toy Story 3</div>
|
||||
<div role="rowheader" id="rowheader-9"></div>
|
||||
<div role="rowheader" id="rowheader-10"> </div>
|
||||
<div role="rowheader" id="rowheader-11" aria-label="Alladin"></div>
|
||||
<div role="rowheader" id="rowheader-12" aria-label=""></div>
|
||||
<div role="rowheader" id="rowheader-13" aria-label=" "></div>
|
||||
<div role="rowheader" id="rowheader-14" aria-labelledby="columnheader-7-label"></div>
|
||||
<label>Slider label: <input type="range" id="slider-1"></label>
|
||||
<input type="range" id="slider-2">
|
||||
<input type="range" id="slider-3" aria-label="Slider label:">
|
||||
|
18
testing/web-platform/meta/wai-aria/role/grid-roles.html.ini
Normal file
18
testing/web-platform/meta/wai-aria/role/grid-roles.html.ini
Normal file
@ -0,0 +1,18 @@
|
||||
[grid-roles.html]
|
||||
[orphaned rowheader outside the context of row]
|
||||
expected: FAIL
|
||||
|
||||
[orphaned columnheader outside the context of row]
|
||||
expected: FAIL
|
||||
|
||||
[orphaned button with gridcell role outside the context of row]
|
||||
expected: FAIL
|
||||
|
||||
[orphaned row outside the context of table]
|
||||
expected: FAIL
|
||||
|
||||
[orphaned rowgroup outside the context of row]
|
||||
expected: FAIL
|
||||
|
||||
[orphaned div with gridcell role outside the context of row]
|
||||
expected: FAIL
|
@ -0,0 +1,3 @@
|
||||
[list-roles.html]
|
||||
[orphan p with listitem role]
|
||||
expected: FAIL
|
@ -0,0 +1,3 @@
|
||||
[listbox-roles.html]
|
||||
[orphaned option outside the context of listbox]
|
||||
expected: FAIL
|
18
testing/web-platform/meta/wai-aria/role/menu-roles.html.ini
Normal file
18
testing/web-platform/meta/wai-aria/role/menu-roles.html.ini
Normal file
@ -0,0 +1,18 @@
|
||||
[menu-roles.html]
|
||||
[orphaned menuitem outside the context of menu/menubar]
|
||||
expected: FAIL
|
||||
|
||||
[orphaned menuitemradio outside the context of menu/menubar]
|
||||
expected: FAIL
|
||||
|
||||
[orphaned menuitemcheckbox outside the context of menu/menubar]
|
||||
expected: FAIL
|
||||
|
||||
[orphan button with menuitem role]
|
||||
expected: FAIL
|
||||
|
||||
[orphan button with menuitemcheckbox role]
|
||||
expected: FAIL
|
||||
|
||||
[orphan button with menuitemradio role]
|
||||
expected: FAIL
|
@ -0,0 +1,3 @@
|
||||
[tab-roles.html]
|
||||
[orphan button with tab role]
|
||||
expected: FAIL
|
@ -0,0 +1,6 @@
|
||||
[tree-roles.html]
|
||||
[orphaned treeitem outside the context of tree]
|
||||
expected: FAIL
|
||||
|
||||
[orphaned button with treeitem role outside tree context]
|
||||
expected: FAIL
|
Loading…
x
Reference in New Issue
Block a user