-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
LibWeb: Ignore “orphaned” ARIA roles
This change causes explicitly-specified role attributes to be ignored in the case where the specified role is “orphaned” — that is, when its element lacks a required ancestor with an appropriate role.
- Loading branch information
1 parent
30e1375
commit 5b20483
Showing
13 changed files
with
334 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11 changes: 11 additions & 0 deletions
11
Tests/LibWeb/Text/expected/wpt-import/wai-aria/role/grid-roles.tentative.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
Harness status: OK | ||
|
||
Found 6 tests | ||
|
||
6 Pass | ||
Pass orphaned button with gridcell role outside the context of row | ||
Pass orphaned row outside the context of table | ||
Pass orphaned rowgroup outside the context of row | ||
Pass orphaned div with gridcell role outside the context of row | ||
Pass orphaned rowheader outside the context of row | ||
Pass orphaned columnheader outside the context of row |
7 changes: 7 additions & 0 deletions
7
Tests/LibWeb/Text/expected/wpt-import/wai-aria/role/list-roles.tentative.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Harness status: OK | ||
|
||
Found 2 tests | ||
|
||
2 Pass | ||
Pass orphan p with listitem role | ||
Pass orphan div with listitem role |
6 changes: 6 additions & 0 deletions
6
Tests/LibWeb/Text/expected/wpt-import/wai-aria/role/listbox-roles.tentative.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Harness status: OK | ||
|
||
Found 1 tests | ||
|
||
1 Pass | ||
Pass orphaned option outside the context of listbox |
14 changes: 14 additions & 0 deletions
14
Tests/LibWeb/Text/expected/wpt-import/wai-aria/role/menu-roles.tentative.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
Harness status: OK | ||
|
||
Found 9 tests | ||
|
||
9 Pass | ||
Pass orphaned menuitem outside the context of menu/menubar | ||
Pass orphaned menuitemradio outside the context of menu/menubar | ||
Pass orphaned menuitemcheckbox outside the context of menu/menubar | ||
Pass orphan button with menuitem role | ||
Pass orphan button with menuitemcheckbox role | ||
Pass orphan button with menuitemradio role | ||
Pass orphan div with menuitem role | ||
Pass orphan div with menuitemcheckbox role | ||
Pass orphan div with menuitemradio role |
7 changes: 7 additions & 0 deletions
7
Tests/LibWeb/Text/expected/wpt-import/wai-aria/role/tab-roles.tentative.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Harness status: OK | ||
|
||
Found 2 tests | ||
|
||
2 Pass | ||
Pass orphan button with tab role | ||
Pass orphan span with tab role |
7 changes: 7 additions & 0 deletions
7
Tests/LibWeb/Text/expected/wpt-import/wai-aria/role/tree-roles.tentative.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Harness status: OK | ||
|
||
Found 2 tests | ||
|
||
2 Pass | ||
Pass orphaned treeitem outside the context of tree | ||
Pass orphaned button with treeitem role outside tree context |
33 changes: 33 additions & 0 deletions
33
Tests/LibWeb/Text/input/wpt-import/wai-aria/role/grid-roles.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<!doctype html> | ||
<html> | ||
<head> | ||
<title>Tentative: Grid Role Verification Tests</title> | ||
<script src="../../resources/testharness.js"></script> | ||
<script src="../../resources/testharnessreport.js"></script> | ||
<script src="../../resources/testdriver.js"></script> | ||
<script src="../../resources/testdriver-vendor.js"></script> | ||
<script src="../../resources/testdriver-actions.js"></script> | ||
<script src="../../wai-aria/scripts/aria-utils.js"></script> | ||
</head> | ||
<body> | ||
|
||
<!-- | ||
CORE-AAM requires that, for elements with roles not contained in the | ||
required context, user agents must ignore the role token and return the | ||
computed role as if the ignored role token had not been included. | ||
See https://w3c.github.io/core-aam/#roleMappingComputedRole | ||
--> | ||
<span role="row" data-testname="orphaned row outside the context of table" class="ex-generic">x</span> | ||
<span role="rowgroup" data-testname="orphaned rowgroup outside the context of row" class="ex-generic">x</span> | ||
<div role="gridcell" data-testname="orphaned div with gridcell role outside the context of row" class="ex-generic">x</div> | ||
<button role="gridcell" data-testname="orphaned button with gridcell role outside the context of row" data-expectedrole="button" class="ex">x</button> | ||
<div role="rowheader" data-testname="orphaned rowheader outside the context of row" class="ex-generic">x</div> | ||
<div role="columnheader" data-testname="orphaned columnheader outside the context of row" class="ex-generic">x</div> | ||
|
||
<script> | ||
AriaUtils.verifyRolesBySelector(".ex"); | ||
AriaUtils.verifyGenericRolesBySelector(".ex-generic"); | ||
</script> | ||
|
||
</body> | ||
</html> |
29 changes: 29 additions & 0 deletions
29
Tests/LibWeb/Text/input/wpt-import/wai-aria/role/list-roles.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<!doctype html> | ||
<html> | ||
<head> | ||
<title>Tentative: List-related Role Verification Tests</title> | ||
<script src="../../resources/testharness.js"></script> | ||
<script src="../../resources/testharnessreport.js"></script> | ||
<script src="../../resources/testdriver.js"></script> | ||
<script src="../../resources/testdriver-vendor.js"></script> | ||
<script src="../../resources/testdriver-actions.js"></script> | ||
<script src="../../wai-aria/scripts/aria-utils.js"></script> | ||
</head> | ||
<body> | ||
|
||
<!-- | ||
CORE-AAM requires that, for elements with roles not contained in the | ||
required context, user agents must ignore the role token and return the | ||
computed role as if the ignored role token had not been included. | ||
See https://w3c.github.io/core-aam/#roleMappingComputedRole | ||
--> | ||
<div role="listitem" data-testname="orphan div with listitem role" class="ex-generic">x</div> | ||
<p role="listitem" data-testname="orphan p with listitem role" data-expectedrole="paragraph" class="ex">x</p> | ||
|
||
<script> | ||
AriaUtils.verifyRolesBySelector(".ex"); | ||
AriaUtils.verifyGenericRolesBySelector(".ex-generic"); | ||
</script> | ||
|
||
</body> | ||
</html> |
29 changes: 29 additions & 0 deletions
29
Tests/LibWeb/Text/input/wpt-import/wai-aria/role/listbox-roles.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<!doctype html> | ||
<html> | ||
<head> | ||
<title>Tentative: Listbox-related Role Verification Tests</title> | ||
<script src="../../resources/testharness.js"></script> | ||
<script src="../../resources/testharnessreport.js"></script> | ||
<script src="../../resources/testdriver.js"></script> | ||
<script src="../../resources/testdriver-vendor.js"></script> | ||
<script src="../../resources/testdriver-actions.js"></script> | ||
<script src="../../wai-aria/scripts/aria-utils.js"></script> | ||
</head> | ||
<body> | ||
|
||
<!-- | ||
CORE-AAM requires that, for elements with roles not contained in the | ||
required context, user agents must ignore the role token and return the | ||
computed role as if the ignored role token had not been included. | ||
See https://w3c.github.io/core-aam/#roleMappingComputedRole | ||
--> | ||
<nav role="option" data-testname="orphaned option outside the context of listbox" data-expectedrole="navigation" | ||
class="ex">x | ||
</nav> | ||
|
||
<script> | ||
AriaUtils.verifyRolesBySelector(".ex"); | ||
</script> | ||
|
||
</body> | ||
</html> |
45 changes: 45 additions & 0 deletions
45
Tests/LibWeb/Text/input/wpt-import/wai-aria/role/menu-roles.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
<!doctype html> | ||
<html> | ||
<head> | ||
<title>Tentative: Menu-related Role Verification Tests</title> | ||
<script src="../../resources/testharness.js"></script> | ||
<script src="../../resources/testharnessreport.js"></script> | ||
<script src="../../resources/testdriver.js"></script> | ||
<script src="../../resources/testdriver-vendor.js"></script> | ||
<script src="../../resources/testdriver-actions.js"></script> | ||
<script src="../../wai-aria/scripts/aria-utils.js"></script> | ||
</head> | ||
<body> | ||
|
||
<!-- | ||
CORE-AAM requires that, for elements with roles not contained in the | ||
required context, user agents must ignore the role token and return the | ||
computed role as if the ignored role token had not been included. | ||
See https://w3c.github.io/core-aam/#roleMappingComputedRole | ||
--> | ||
<nav role="menuitem" data-testname="orphaned menuitem outside the context of menu/menubar" data-expectedrole="navigation" | ||
class="ex">x | ||
</nav> | ||
<nav role="menuitemradio" data-testname="orphaned menuitemradio outside the context of menu/menubar" data-expectedrole="navigation" | ||
class="ex">x | ||
</nav> | ||
<nav role="menuitemcheckbox" data-testname="orphaned menuitemcheckbox outside the context of menu/menubar" data-expectedrole="navigation" | ||
class="ex">x | ||
</nav> | ||
|
||
<button role="menuitem" data-testname="orphan button with menuitem role" data-expectedrole="button" class="ex">x</button> | ||
<div role="menuitem" data-testname="orphan div with menuitem role" class="ex-generic">x</div> | ||
|
||
<button role="menuitemcheckbox" data-testname="orphan button with menuitemcheckbox role" data-expectedrole="button" class="ex">x</button> | ||
<div role="menuitemcheckbox" data-testname="orphan div with menuitemcheckbox role" class="ex-generic">x</div> | ||
|
||
<button role="menuitemradio" data-testname="orphan button with menuitemradio role" data-expectedrole="button" class="ex">x</button> | ||
<div role="menuitemradio" data-testname="orphan div with menuitemradio role" class="ex-generic">x</div> | ||
|
||
<script> | ||
AriaUtils.verifyRolesBySelector(".ex"); | ||
AriaUtils.verifyGenericRolesBySelector(".ex-generic"); | ||
</script> | ||
|
||
</body> | ||
</html> |
29 changes: 29 additions & 0 deletions
29
Tests/LibWeb/Text/input/wpt-import/wai-aria/role/tab-roles.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<!doctype html> | ||
<html> | ||
<head> | ||
<title>Tentative: Tab-related Role Verification Tests</title> | ||
<script src="../../resources/testharness.js"></script> | ||
<script src="../../resources/testharnessreport.js"></script> | ||
<script src="../../resources/testdriver.js"></script> | ||
<script src="../../resources/testdriver-vendor.js"></script> | ||
<script src="../../resources/testdriver-actions.js"></script> | ||
<script src="../../wai-aria/scripts/aria-utils.js"></script> | ||
</head> | ||
<body> | ||
|
||
<!-- | ||
CORE-AAM requires that, for elements with roles not contained in the | ||
required context, user agents must ignore the role token and return the | ||
computed role as if the ignored role token had not been included. | ||
See https://w3c.github.io/core-aam/#roleMappingComputedRole | ||
--> | ||
<button role="tab" data-testname="orphan button with tab role" data-expectedrole="button" class="ex">x</button> | ||
<span role="tab" data-testname="orphan span with tab role" class="ex-generic">x</span> | ||
|
||
<script> | ||
AriaUtils.verifyRolesBySelector(".ex"); | ||
AriaUtils.verifyGenericRolesBySelector(".ex-generic"); | ||
</script> | ||
|
||
</body> | ||
</html> |
28 changes: 28 additions & 0 deletions
28
Tests/LibWeb/Text/input/wpt-import/wai-aria/role/tree-roles.tentative.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<!doctype html> | ||
<html> | ||
<head> | ||
<title>Tentative: Tree related Role Verification Tests</title> | ||
<script src="../../resources/testharness.js"></script> | ||
<script src="../../resources/testharnessreport.js"></script> | ||
<script src="../../resources/testdriver.js"></script> | ||
<script src="../../resources/testdriver-vendor.js"></script> | ||
<script src="../../resources/testdriver-actions.js"></script> | ||
<script src="../../wai-aria/scripts/aria-utils.js"></script> | ||
</head> | ||
<body> | ||
|
||
<!-- | ||
CORE-AAM requires that, for elements with roles not contained in the | ||
required context, user agents must ignore the role token and return the | ||
computed role as if the ignored role token had not been included. | ||
See https://w3c.github.io/core-aam/#roleMappingComputedRole | ||
--> | ||
<nav role="treeitem" data-testname="orphaned treeitem outside the context of tree" data-expectedrole="navigation" class="ex">x</nav> | ||
<button role="treeitem" data-testname="orphaned button with treeitem role outside tree context" data-expectedrole="button" class="ex">x</button> | ||
|
||
<script> | ||
AriaUtils.verifyRolesBySelector(".ex"); | ||
</script> | ||
|
||
</body> | ||
</html> |