- commit
- 93cef69703a8c32d1f5528f905606cbfb9681396
- parent
- 9cd78ca822c656b7a6d0ee6cd7171100927ddee9
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2026-02-18 22:15
update wpt
Diffstat
| M | test/test-wpt.js | 5 | +++++ |
| M | test/wpt.js | 85 | +++++++++++++++++++++++++++++++++++-------------------------- |
2 files changed, 54 insertions, 36 deletions
diff --git a/test/test-wpt.js b/test/test-wpt.js
@@ -24,6 +24,8 @@ describe('wpt', () => {
24 24
25 25 // name required
26 26 'fallback role w/ region with no label',
-1 27 'div[role=\'ReGiOn group\'] without accname, has group role',
-1 28 'div[role=\'ReGiOn foo\'] with alternating case role and illegal fallback role without accname, has generic role',
27 29 'form without label',
28 30 'region without label',
29 31 'role-map-region-nameless',
@@ -103,6 +105,9 @@ describe('wpt', () => {
103 105 'button with alt counter on ::before',
104 106 'heading with alt counter on ::before',
105 107 'link with alt counter on ::before',
-1 108 'button with multiple alt counters and counter increments',
-1 109 'heading with multiple alt counters and counter increments',
-1 110 'link with multiple alt counters and counter increments',
106 111
107 112 // hidden not directly referenced
108 113 'button\'s hidden referenced name (display:none) supercedes aria-label',
diff --git a/test/wpt.js b/test/wpt.js
@@ -1158,7 +1158,7 @@ window.wpt["accname"] = [ 1158 1158 { 1159 1159 "filename": "comp_name_from_content.html", 1160 1160 "title": "Name Comp: Name From Content",1161 -1 "html": "<style type=\"text/css\">\n\n /*\n\n Since the AccName spec is in flux about whitespace joiners, and the implementations don't match,\n normalize the whitespace (with extra leading/trailing) space.\n\n No point in having the same in-flux spec change cause failures the remaining unrelated tests.\n\n See more here:\n https://github.com/w3c/accname/issues/205\n https://github.com/w3c/accname/projects/1#card-42288231\n\n */\n\n .alt-counter::before {\n counter-set: cnt 5051;\n content: \"\" / counter(cnt);\n }\n .simple-before::before {\n content: \" before \"; /* [sic] leading and trailing space */\n margin:0 0.1em;\n }\n .simple-after::after {\n content: \" after \"; /* [sic] leading and trailing space */\n margin:0 0.1em;\n }\n .no-space::before, .no-space::after {\n content: \"nospace\"; /* [sic] Unlike the others, NO extra leading/trailing space here. */\n }\n .simple-before:dir(rtl)::before {\n content: \" \u0645\u0646 \u0642\u0628\u0644 \"; /* [sic] leading and trailing space */\n }\n .simple-after:dir(rtl)::after {\n content: \" \u0628\u0639\u062f \"; /* [sic] leading and trailing space */\n }\n .fallback-before::before {\n content: \" before \"; /* [sic] leading and trailing space */\n content: \" before \" / \" alt-before \"; /* Override the previous line for engines that support the Alternative Text syntax. */\n }\n .fallback-after::after {\n content: \" after \"; /* [sic] leading and trailing space */\n content: \" after \" / \" alt-after \"; /* Override the previous line for engines that support the Alternative Text syntax. */\n }\n .fallback-before-empty::before {\n content: \"before\" / \"\";\n }\n .fallback-before-image-empty::before {\n content: \"before \" url(/images/blue.png) / \"\";\n }\n .fallback-before-mixed::before {\n content: \" before \"; /* [sic] leading and trailing space */\n content: \" before \" / \" start \" attr(data-alt-text-before) \" end \"; /* Override the previous line for engines that support the Alternative Text syntax. */\n }\n .fallback-after-mixed::after {\n content: \" after \"; /* [sic] leading and trailing space */\n content: \" after \" / \" start \" attr(data-alt-text-after) \" end \"; /* Override the previous line for engines that support the Alternative Text syntax. */\n }\n .block > span {\n display: block;\n margin: 0 0.1em;\n }\n .iblock > span {\n display: inline-block;\n margin: 0 0.1em;\n }\n\n </style><p>Tests the <a href=\"https://w3c.github.io/accname/#comp_name_from_content\">#comp_name_from_content</a> portions of the AccName <em>Name Computation</em> algorithm.</p>\n\n<p>This series of tests exercises the button, heading, and link elements, because each have different characteristics worthy of testing in each of the name computation algorithm scenarios:</p>\n<ul>\n <li>button is a leaf node with sub-level elements presentational.</li>\n <li>heading is block level, and can contain sub-level interactives like links.</li>\n <li>link (a[href]) is an interactive inline element that can include non-presentational descendants.</li>\n</ul>\n\n<h1>ARIA roles, inline</h1>\n<span tabindex=\"0\" role=\"button\" data-expectedlabel=\"label\" data-testname=\"aria button name from content, inline\" class=\"ex\">label</span><br>\n<span tabindex=\"0\" role=\"heading\" data-expectedlabel=\"label\" data-testname=\"aria heading name from content, inline\" class=\"ex\">label</span><br>\n<span tabindex=\"0\" role=\"link\" data-expectedlabel=\"label\" data-testname=\"aria link name from content, inline\" class=\"ex\">label</span><br>\n<br>\n\n<h1>ARIA roles, block</h1>\n<div tabindex=\"0\" role=\"button\" data-expectedlabel=\"label\" data-testname=\"aria button name from content, block\" class=\"ex\">label</div>\n<div tabindex=\"0\" role=\"heading\" data-expectedlabel=\"label\" data-testname=\"aria heading name from content, block\" class=\"ex\">label</div>\n<div tabindex=\"0\" role=\"link\" data-expectedlabel=\"label\" data-testname=\"aria link name from content, block\" class=\"ex\">label</div>\n<br>\n\n<h1>simple</h1>\n<button data-expectedlabel=\"label\" data-testname=\"button name from content\" class=\"ex\">label</button><br>\n<h3 data-expectedlabel=\"label\" data-testname=\"heading name from content\" class=\"ex\">label</h3>\n<a href=\"#\" data-expectedlabel=\"label\" data-testname=\"link name from content\" class=\"ex\">label</a><br>\n<br>\n\n<h1>alt counter with ::before</h1>\n<button data-expectedlabel=\"5051 label\" data-testname=\"button with alt counter on ::before\" class=\"ex alt-counter\">label</button><br>\n<h3 data-expectedlabel=\"5051 label\" data-testname=\"heading with alt counter on ::before\" class=\"ex alt-counter\">label</h3>\n<a href=\"#\" data-expectedlabel=\"5051 label\" data-testname=\"link with alt counter on ::before\" class=\"ex alt-counter\">label</a><br>\n<br>\n\n<h1>simple with ::before</h1>\n<button data-expectedlabel=\"before label\" data-testname=\"button name from content with ::before\" class=\"ex simple-before\">label</button><br>\n<h3 data-expectedlabel=\"before label\" data-testname=\"heading name from content with ::before\" class=\"ex simple-before\">label</h3>\n<a href=\"#\" data-expectedlabel=\"before label\" data-testname=\"link name from content with ::before\" class=\"ex simple-before\">label</a><br>\n<br>\n\n<h1>simple with ::after</h1>\n<button data-expectedlabel=\"label after\" data-testname=\"button name from content with ::after\" class=\"ex simple-after\">label</button><br>\n<h3 data-expectedlabel=\"label after\" data-testname=\"heading name from content with ::after\" class=\"ex simple-after\">label</h3>\n<a href=\"#\" data-expectedlabel=\"label after\" data-testname=\"link name from content with ::after\" class=\"ex simple-after\">label</a><br>\n<br>\n\n<h1>simple with ::before and ::after</h1>\n<button data-expectedlabel=\"before label after\" data-testname=\"button name from content with ::before and ::after\" class=\"ex simple-before simple-after\">label</button><br>\n<h3 data-expectedlabel=\"before label after\" data-testname=\"heading name from content with ::before and ::after\" class=\"ex simple-before simple-after\">label</h3>\n<a href=\"#\" data-expectedlabel=\"before label after\" data-testname=\"link name from content with ::before and ::after\" class=\"ex simple-before simple-after\">label</a><br>\n<br>\n\n<h1>no space joiners ::before and ::after</h1>\n<button data-expectedlabel=\"nospacelabelnospace\" data-testname=\"button name from content no space joiners ::before and ::after\" class=\"ex no-space\">label</button><br>\n<h3 data-expectedlabel=\"nospacelabelnospace\" data-testname=\"heading name from content no space joiners ::before and ::after\" class=\"ex no-space\">label</h3>\n<a href=\"#\" data-expectedlabel=\"nospacelabelnospace\" data-testname=\"link name from content no space joiners ::before and ::after\" class=\"ex no-space\">label</a><br>\n<br>\n\n<h1>Arabic right-to-left (RTL) with ::before and ::after</h1>\n<div dir=\"rtl\" lang=\"ar\">\n <button data-expectedlabel=\"\u0645\u0646 \u0642\u0628\u0644 \u0627\u0633\u0645 \u0628\u0639\u062f\" data-testname=\"button name from content with ::before and ::after in rtl\" class=\"ex simple-before simple-after\">\u0627\u0633\u0645</button><br>\n <h3 data-expectedlabel=\"\u0645\u0646 \u0642\u0628\u0644 \u0627\u0633\u0645 \u0628\u0639\u062f\" data-testname=\"heading name from content with ::before and ::after in rtl\" class=\"ex simple-before simple-after\">\u0627\u0633\u0645</h3>\n <a href=\"#\" data-expectedlabel=\"\u0645\u0646 \u0642\u0628\u0644 \u0627\u0633\u0645 \u0628\u0639\u062f\" data-testname=\"link name from content with ::before and ::after in rtl\" class=\"ex simple-before simple-after\">\u0627\u0633\u0645</a><br>\n</div>\n<br>\n\n<h1><a href=\"https://drafts.csswg.org/css-content/#alt\">Alternative Text for CSS content (previously `alt:`)</a> in pseudo-elements</h1>\n<p>rendered text should be \"before label after\"</p>\n<p>accessibility label should be \"alt-before label alt-after\"</p>\n<button data-expectedlabel=\"alt-before label alt-after\" data-testname=\"button name from fallback content with ::before and ::after\" class=\"ex fallback-before fallback-after\">label</button><br>\n<h3 data-expectedlabel=\"alt-before label alt-after\" data-testname=\"heading name from fallback content with ::before and ::after\" class=\"ex fallback-before fallback-after\">label</h3>\n<a href=\"#\" data-expectedlabel=\"alt-before label alt-after\" data-testname=\"link name from fallback content with ::before and ::after\" class=\"ex fallback-before fallback-after\">label</a><br>\n<br>\n\n<h1><a href=\"https://drafts.csswg.org/css-content/#alt\">Mixed Alternative Text (attr() and strings) for CSS content (previously `alt:`)</a> in pseudo-elements</h1>\n<p>rendered text should be \"before label after\"</p>\n<p>accessibility label should be \"start alt-before end label start alt-after end\"</p>\n<button data-alt-text-before=\"alt-before\" data-alt-text-after=\"alt-after\" data-expectedlabel=\"start alt-before end label start alt-after end\" data-testname=\"button name from fallback content mixing attr() and strings with ::before and ::after\" class=\"ex fallback-before-mixed fallback-after-mixed\">label</button><br>\n<h3 data-alt-text-before=\"alt-before\" data-alt-text-after=\"alt-after\" data-expectedlabel=\"start alt-before end label start alt-after end\" data-testname=\"heading name from fallback content mixing attr() and strings with ::before and ::after\" class=\"ex fallback-before-mixed fallback-after-mixed\">label</h3>\n<a href=\"#\" data-alt-text-before=\"alt-before\" data-alt-text-after=\"alt-after\" data-expectedlabel=\"start alt-before end label start alt-after end\" data-testname=\"link name from fallback content mixing attr() and strings with ::before and ::after\" class=\"ex fallback-before-mixed fallback-after-mixed\">label</a><br>\n<br>\n\n<h1>Empty alternative text for CSS content in pseudo-elements when applied to primitive appearance form controls</h1>\n<p><input data-expectedlabel=\"\" data-testname=\"primitive radio input with ::before containing empty alternative text\" class=\"ex fallback-before-empty\" type=radio style=appearance:none>\n<p><input data-expectedlabel=\"\" data-testname=\"primitive radio input with ::before containing empty alternative text for an image\" class=\"ex fallback-before-image-empty\" type=radio style=appearance:none>\n\n<h1>simple w/ for each child</h1>\n<button data-expectedlabel=\"one two three\" data-testname=\"button name from content for each child\" class=\"ex\"><span>one</span> <span>two</span> <span>three</span></button><br>\n<h3 data-expectedlabel=\"one two three\" data-testname=\"heading name from content for each child\" class=\"ex\"><span>one</span> <span>two</span> <span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three\" data-testname=\"link name from content for each child\" class=\"ex\"><span>one</span> <span>two</span> <span>three</span></a><br>\n<br>\n\n<h1>simple for each child with image</h1>\n<button data-expectedlabel=\"one two three\" data-testname=\"button name from content for each child including image\" class=\"ex\"><span>one</span> <img alt=\"two\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"> <span>three</span></button><br>\n<h3 data-expectedlabel=\"one two three\" data-testname=\"heading name from content for each child including image\" class=\"ex\"><span>one</span> <img alt=\"two\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"> <span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three\" data-testname=\"link name from content for each child including image\" class=\"ex\"><span>one</span> <img alt=\"two\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"> <span>three</span></a><br>\n<br>\n\n\n<h1>simple for each child with extra nesting containing image</h1>\n<button data-expectedlabel=\"one two three four\" data-testname=\"button name from content for each child including nested image\" class=\"ex\"><span>one</span> <span>two <img alt=\"three\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"></span> <span>four</span></button><br>\n<h3 data-expectedlabel=\"one two three four\" data-testname=\"heading name from content for each child including nested image\" class=\"ex\"><span>one</span> <span>two <img alt=\"three\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"></span> <span>four</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three four\" data-testname=\"link name from content for each child including nested image\" class=\"ex\"><span>one</span> <span>two <img alt=\"three\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"></span> <span>four</span></a><br>\n<br>\n\n<h1>heading with nested button with nested image</h1>\n<h3 data-expectedlabel=\"heading button image button heading\" data-testname=\"heading name from content for each child including nested button with nested image\" class=\"ex\">\n heading\n <button>\n button\n <img alt=\"image\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n button\n </button>\n heading\n</h3>\n\n<h1>heading with nested link with nested image</h1>\n<h3 data-expectedlabel=\"heading link image link heading\" data-testname=\"heading name from content for each child including nested link with nested image\" class=\"ex\">\n heading\n <a href=\"#\">\n link\n <img alt=\"image\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n link\n </a>\n heading\n</h3>\n\n<h1>heading with nested link with nested image using aria-label</h1>\n<h3 data-expectedlabel=\"heading link aria-label heading\" data-testname=\"heading name from content for each child including nested link using aria-label with nested image\" class=\"ex\">\n heading\n <a href=\"#\" aria-label=\"link aria-label\"><!-- should skip the other link text -->\n ignored link text\n <img id=\"nested_image_label_1\" alt=\"ignored image alt\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n ignored link text\n </a>\n heading\n</h3>\n\n<h1>heading with nested link with nested image using aria-labelledby</h1>\n<h3 data-expectedlabel=\"heading image heading\" data-testname=\"heading name from content for each child including nested link using aria-labelledby with nested image\" class=\"ex\">\n heading\n <a href=\"#\" aria-labelledby=\"nested_image_label1\"><!-- should skip the other link text -->\n ignored link text\n <img id=\"nested_image_label1\" alt=\"image\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n ignored link text\n </a>\n heading\n</h3>\n\n<h1>heading with two nested links referencing image using aria-labelledby</h1>\n<h3 data-expectedlabel=\"image link2 link3\" data-testname=\"heading name from content for each child including two nested links using aria-labelledby with nested image\" class=\"ex\">\n <a href=\"#\" aria-labelledby=\"nested_image_label2\">\n link1<!-- this text is skipped because of aria-labelledby -->\n </a>\n <a href=\"#\" data-expectedlabel=\"link2 image link3\" data-testname=\"link name from content for each child including nested image (referenced elsewhere via labelledby)\" class=\"ex\">\n link2\n <img id=\"nested_image_label2\" alt=\"image\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n <!-- image skipped in this link (when computing heading text) because it was already referenced by the first link within this heading label recursion cycle. -->\n <!-- but image not skipped when computing the text of the link itself since it has not been referenced in that context -->\n link3\n </a>\n</h3>\n\n\n<!-- Note: The following test is out of line with the spec, but matching two out of three implementations at the time of writing, and spec changes are expeected. -->\n<!-- See details in https://github.com/w3c/accname/issues/205 -->\n<!-- Final spec resolution will be addressed in AccName Whitespace Project: https://github.com/w3c/accname/projects/1#card-42288231 -->\n<h1>simple w/ for each child (w/o spaces and display:inline)</h1>\n<button data-expectedlabel=\"onetwothree\" data-testname=\"button name from content for each child (no space, inline)\" class=\"ex\"><span>one</span><span>two</span><span>three</span></button><br>\n<h3 data-expectedlabel=\"onetwothree\" data-testname=\"heading name from content for each child (no space, inline)\" class=\"ex\"><span>one</span><span>two</span><span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"onetwothree\" data-testname=\"link name from content for each child (no space, inline)\" class=\"ex\"><span>one</span><span>two</span><span>three</span></a><br>\n<br>\n\n<h1>simple w/ for each child (w/o spaces and display:block)</h1>\n<button data-expectedlabel=\"one two three\" data-testname=\"button name from content for each child (no space, display:block)\" class=\"ex block\"><span>one</span><span>two</span><span>three</span></button><br>\n<h3 data-expectedlabel=\"one two three\" data-testname=\"heading name from content for each child (no space, display:block)\" class=\"ex block\"><span>one</span><span>two</span><span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three\" data-testname=\"link name from content for each child (no space, display:block)\" class=\"ex block\"><span>one</span><span>two</span><span>three</span></a><br>\n<br>\n\n<h1>simple w/ for each child (w/o spaces and display:inline block)</h1>\n<button data-expectedlabel=\"one two three\" data-testname=\"button name from content for each child (no space, display:inline-block)\" class=\"ex iblock\"><span>one</span><span>two</span><span>three</span></button><br>\n<h3 data-expectedlabel=\"one two three\" data-testname=\"heading name from content for each child (no space, display:inline-block)\" class=\"ex iblock\"><span>one</span><span>two</span><span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three\" data-testname=\"link name from content for each child (no space, display:inline-block)\" class=\"ex iblock\"><span>one</span><span>two</span><span>three</span></a><br>\n<br>\n\n<h1 data-expectedlabel=\"Call us\" data-testname=\"heading name from content with text-transform:none\" class=\"ex\" style=\"text-transform:none;\">Call us</h1>\n<h1 data-expectedlabel=\"CALL US\" data-testname=\"heading name from content with text-transform:uppercase\" class=\"ex\" style=\"text-transform:uppercase;\">Call us</h1>\n<h1 data-expectedlabel=\"Call Us\" data-testname=\"heading name from content with text-transform:capitalize\" class=\"ex\" style=\"text-transform:capitalize;\">Call us</h1>\n<h1 data-expectedlabel=\"call us\" data-testname=\"heading name from content with text-transform:lowercase\" class=\"ex\" style=\"text-transform:lowercase;\">Call us</h1>\n\n<!-- \u201c\u3073\u3087\u3046\u3044\u3093\u306e\u304b\u3093\u3058\u3083\u30b5\u30fc\u30d3\u30b9\u201d means \u201cHospital patient services\u201d -->\n<!-- text-transform:full-size-kana risks changing the heading\u2019s meaning -->\n<!-- by transforming the following words: -->\n<!-- 1. \u3073\u3087\u3046\u3044\u3093 (by\u014din = hospital) into \u3073\u3088\u3046\u3044\u3093 (biy\u014din = beauty parlor) -->\n<!-- 2. \u304b\u3093\u3058\u3083 (kanja = patient) into \u304b\u3093\u3058\u3084 (kanjiya = [no meaning]) -->\n<h1>heading which visually transforms <span lang=\"ja\">\u3073\u3087\u3046\u3044\u3093</span> (hospital) to\n <span lang=\"ja\">\u3073\u3088\u3046\u3044\u3093</span> (beauty parlor) using CSS\n <code>text-transform:full-size-kana</code></h1>\n<h3\n lang=\"ja\"\n data-expectedlabel=\"\u3073\u3087\u3046\u3044\u3093\u306e\u304b\u3093\u3058\u3083\u30b5\u30fc\u30d3\u30b9\"\n data-testname=\"heading name from content with text-transform:full-size-kana\"\n class=\"ex\"\n style=\"text-transform:full-size-kana;\"\n>\u3073\u3087\u3046\u3044\u3093\u306e\u304b\u3093\u3058\u3083\u30b5\u30fc\u30d3\u30b9</h3>\n\n<!-- Tests `Name from Each Child` edge case failures with an embedded `term` as a child element role. -->\n<!-- https://w3c.github.io/accname/#comp_name_from_content_for_each_child -->\n\n<h2>Elements with implicit button, heading, link roles containing element with\n implicit term role</h2>\n<button\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit button name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></button>\n<h3\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit heading name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></h3>\n<a\n href=\"#\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit link name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></a>\n\n<h2>Elements with implicit button, heading, link roles containing element with\n explicit term role</h2>\n<button\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit button name from content containing an element with explicit term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></button>\n<h3\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit heading name from content containing an element with explicit term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></h3>\n<a\n href=\"#\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit link name from content containing an element explicit with term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></a>\n\n<h2>Elements with explicit button, heading, link roles containing element with\n implicit term role</h2>\n<div\n role=\"button\"\n tabindex=\"0\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit button name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></div>\n<div\n role=\"heading\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit heading name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></div>\n<div\n role=\"link\"\n tabindex=\"0\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit link name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></div>\n\n<h2>Elements with explicit button, heading, link roles containing element with\n explicit term role</h2>\n<div\n role=\"button\"\n tabindex=\"0\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit button name from content containing an element explicit with term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></div>\n<div\n role=\"heading\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit heading name from content containing an element explicit with term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></div>\n<div\n role=\"link\"\n tabindex=\"0\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit link name from content containing an element explicit with term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></div>",-1 1161 "html": "<style type=\"text/css\">\n\n /*\n\n Since the AccName spec is in flux about whitespace joiners, and the implementations don't match,\n normalize the whitespace (with extra leading/trailing) space.\n\n No point in having the same in-flux spec change cause failures the remaining unrelated tests.\n\n See more here:\n https://github.com/w3c/accname/issues/205\n https://github.com/w3c/accname/projects/1#card-42288231\n\n */\n\n .alt-counter::before {\n counter-set: cnt 5051;\n content: \"\" / counter(cnt);\n }\n .multi-alt-counter {\n counter-reset: multi_alt 10;\n }\n .multi-alt-counter span::before {\n counter-increment: multi_alt 1;\n content: \"\" / counter(multi_alt) \" \";\n }\n .multi-alt-counter span:nth-child(2n)::before {\n counter-increment: multi_alt 2;\n }\n .simple-before::before {\n content: \" before \"; /* [sic] leading and trailing space */\n margin:0 0.1em;\n }\n .simple-after::after {\n content: \" after \"; /* [sic] leading and trailing space */\n margin:0 0.1em;\n }\n .no-space::before, .no-space::after {\n content: \"nospace\"; /* [sic] Unlike the others, NO extra leading/trailing space here. */\n }\n .simple-before:dir(rtl)::before {\n content: \" \u0645\u0646 \u0642\u0628\u0644 \"; /* [sic] leading and trailing space */\n }\n .simple-after:dir(rtl)::after {\n content: \" \u0628\u0639\u062f \"; /* [sic] leading and trailing space */\n }\n .fallback-before::before {\n content: \" before \"; /* [sic] leading and trailing space */\n content: \" before \" / \" alt-before \"; /* Override the previous line for engines that support the Alternative Text syntax. */\n }\n .fallback-after::after {\n content: \" after \"; /* [sic] leading and trailing space */\n content: \" after \" / \" alt-after \"; /* Override the previous line for engines that support the Alternative Text syntax. */\n }\n .fallback-before-empty::before {\n content: \"before\" / \"\";\n }\n .fallback-before-image-empty::before {\n content: \"before \" url(/images/blue.png) / \"\";\n }\n .fallback-before-mixed::before {\n content: \" before \"; /* [sic] leading and trailing space */\n content: \" before \" / \" start \" attr(data-alt-text-before) \" end \"; /* Override the previous line for engines that support the Alternative Text syntax. */\n }\n .fallback-after-mixed::after {\n content: \" after \"; /* [sic] leading and trailing space */\n content: \" after \" / \" start \" attr(data-alt-text-after) \" end \"; /* Override the previous line for engines that support the Alternative Text syntax. */\n }\n .block > span {\n display: block;\n margin: 0 0.1em;\n }\n .iblock > span {\n display: inline-block;\n margin: 0 0.1em;\n }\n\n </style><p>Tests the <a href=\"https://w3c.github.io/accname/#comp_name_from_content\">#comp_name_from_content</a> portions of the AccName <em>Name Computation</em> algorithm.</p>\n\n<p>This series of tests exercises the button, heading, and link elements, because each have different characteristics worthy of testing in each of the name computation algorithm scenarios:</p>\n<ul>\n <li>button is a leaf node with sub-level elements presentational.</li>\n <li>heading is block level, and can contain sub-level interactives like links.</li>\n <li>link (a[href]) is an interactive inline element that can include non-presentational descendants.</li>\n</ul>\n\n<h1>ARIA roles, inline</h1>\n<span tabindex=\"0\" role=\"button\" data-expectedlabel=\"label\" data-testname=\"aria button name from content, inline\" class=\"ex\">label</span><br>\n<span tabindex=\"0\" role=\"heading\" data-expectedlabel=\"label\" data-testname=\"aria heading name from content, inline\" class=\"ex\">label</span><br>\n<span tabindex=\"0\" role=\"link\" data-expectedlabel=\"label\" data-testname=\"aria link name from content, inline\" class=\"ex\">label</span><br>\n<br>\n\n<h1>ARIA roles, block</h1>\n<div tabindex=\"0\" role=\"button\" data-expectedlabel=\"label\" data-testname=\"aria button name from content, block\" class=\"ex\">label</div>\n<div tabindex=\"0\" role=\"heading\" data-expectedlabel=\"label\" data-testname=\"aria heading name from content, block\" class=\"ex\">label</div>\n<div tabindex=\"0\" role=\"link\" data-expectedlabel=\"label\" data-testname=\"aria link name from content, block\" class=\"ex\">label</div>\n<br>\n\n<h1>simple</h1>\n<button data-expectedlabel=\"label\" data-testname=\"button name from content\" class=\"ex\">label</button><br>\n<h3 data-expectedlabel=\"label\" data-testname=\"heading name from content\" class=\"ex\">label</h3>\n<a href=\"#\" data-expectedlabel=\"label\" data-testname=\"link name from content\" class=\"ex\">label</a><br>\n<br>\n\n<h1>alt counter with ::before</h1>\n<button data-expectedlabel=\"5051 label\" data-testname=\"button with alt counter on ::before\" class=\"ex alt-counter\">label</button><br>\n<h3 data-expectedlabel=\"5051 label\" data-testname=\"heading with alt counter on ::before\" class=\"ex alt-counter\">label</h3>\n<a href=\"#\" data-expectedlabel=\"5051 label\" data-testname=\"link with alt counter on ::before\" class=\"ex alt-counter\">label</a><br>\n<br>\n\n<h1>multiple alt counters with varying increments</h1>\n<button data-expectedlabel=\"11 alpha 13 beta 14 gamma\" data-testname=\"button with multiple alt counters and counter increments\" class=\"ex multi-alt-counter\"><span>alpha</span> <span>beta</span> <span>gamma</span></button><br>\n<h3 data-expectedlabel=\"11 alpha 13 beta 14 gamma\" data-testname=\"heading with multiple alt counters and counter increments\" class=\"ex multi-alt-counter\"><span>alpha</span> <span>beta</span> <span>gamma</span></h3>\n<a href=\"#\" data-expectedlabel=\"11 alpha 13 beta 14 gamma\" data-testname=\"link with multiple alt counters and counter increments\" class=\"ex multi-alt-counter\"><span>alpha</span> <span>beta</span> <span>gamma</span></a><br>\n<br>\n\n<h1>simple with ::before</h1>\n<button data-expectedlabel=\"before label\" data-testname=\"button name from content with ::before\" class=\"ex simple-before\">label</button><br>\n<h3 data-expectedlabel=\"before label\" data-testname=\"heading name from content with ::before\" class=\"ex simple-before\">label</h3>\n<a href=\"#\" data-expectedlabel=\"before label\" data-testname=\"link name from content with ::before\" class=\"ex simple-before\">label</a><br>\n<br>\n\n<h1>simple with ::after</h1>\n<button data-expectedlabel=\"label after\" data-testname=\"button name from content with ::after\" class=\"ex simple-after\">label</button><br>\n<h3 data-expectedlabel=\"label after\" data-testname=\"heading name from content with ::after\" class=\"ex simple-after\">label</h3>\n<a href=\"#\" data-expectedlabel=\"label after\" data-testname=\"link name from content with ::after\" class=\"ex simple-after\">label</a><br>\n<br>\n\n<h1>simple with ::before and ::after</h1>\n<button data-expectedlabel=\"before label after\" data-testname=\"button name from content with ::before and ::after\" class=\"ex simple-before simple-after\">label</button><br>\n<h3 data-expectedlabel=\"before label after\" data-testname=\"heading name from content with ::before and ::after\" class=\"ex simple-before simple-after\">label</h3>\n<a href=\"#\" data-expectedlabel=\"before label after\" data-testname=\"link name from content with ::before and ::after\" class=\"ex simple-before simple-after\">label</a><br>\n<br>\n\n<h1>no space joiners ::before and ::after</h1>\n<button data-expectedlabel=\"nospacelabelnospace\" data-testname=\"button name from content no space joiners ::before and ::after\" class=\"ex no-space\">label</button><br>\n<h3 data-expectedlabel=\"nospacelabelnospace\" data-testname=\"heading name from content no space joiners ::before and ::after\" class=\"ex no-space\">label</h3>\n<a href=\"#\" data-expectedlabel=\"nospacelabelnospace\" data-testname=\"link name from content no space joiners ::before and ::after\" class=\"ex no-space\">label</a><br>\n<br>\n\n<h1>Arabic right-to-left (RTL) with ::before and ::after</h1>\n<div dir=\"rtl\" lang=\"ar\">\n <button data-expectedlabel=\"\u0645\u0646 \u0642\u0628\u0644 \u0627\u0633\u0645 \u0628\u0639\u062f\" data-testname=\"button name from content with ::before and ::after in rtl\" class=\"ex simple-before simple-after\">\u0627\u0633\u0645</button><br>\n <h3 data-expectedlabel=\"\u0645\u0646 \u0642\u0628\u0644 \u0627\u0633\u0645 \u0628\u0639\u062f\" data-testname=\"heading name from content with ::before and ::after in rtl\" class=\"ex simple-before simple-after\">\u0627\u0633\u0645</h3>\n <a href=\"#\" data-expectedlabel=\"\u0645\u0646 \u0642\u0628\u0644 \u0627\u0633\u0645 \u0628\u0639\u062f\" data-testname=\"link name from content with ::before and ::after in rtl\" class=\"ex simple-before simple-after\">\u0627\u0633\u0645</a><br>\n</div>\n<br>\n\n<h1><a href=\"https://drafts.csswg.org/css-content/#alt\">Alternative Text for CSS content (previously `alt:`)</a> in pseudo-elements</h1>\n<p>rendered text should be \"before label after\"</p>\n<p>accessibility label should be \"alt-before label alt-after\"</p>\n<button data-expectedlabel=\"alt-before label alt-after\" data-testname=\"button name from fallback content with ::before and ::after\" class=\"ex fallback-before fallback-after\">label</button><br>\n<h3 data-expectedlabel=\"alt-before label alt-after\" data-testname=\"heading name from fallback content with ::before and ::after\" class=\"ex fallback-before fallback-after\">label</h3>\n<a href=\"#\" data-expectedlabel=\"alt-before label alt-after\" data-testname=\"link name from fallback content with ::before and ::after\" class=\"ex fallback-before fallback-after\">label</a><br>\n<br>\n\n<h1><a href=\"https://drafts.csswg.org/css-content/#alt\">Mixed Alternative Text (attr() and strings) for CSS content (previously `alt:`)</a> in pseudo-elements</h1>\n<p>rendered text should be \"before label after\"</p>\n<p>accessibility label should be \"start alt-before end label start alt-after end\"</p>\n<button data-alt-text-before=\"alt-before\" data-alt-text-after=\"alt-after\" data-expectedlabel=\"start alt-before end label start alt-after end\" data-testname=\"button name from fallback content mixing attr() and strings with ::before and ::after\" class=\"ex fallback-before-mixed fallback-after-mixed\">label</button><br>\n<h3 data-alt-text-before=\"alt-before\" data-alt-text-after=\"alt-after\" data-expectedlabel=\"start alt-before end label start alt-after end\" data-testname=\"heading name from fallback content mixing attr() and strings with ::before and ::after\" class=\"ex fallback-before-mixed fallback-after-mixed\">label</h3>\n<a href=\"#\" data-alt-text-before=\"alt-before\" data-alt-text-after=\"alt-after\" data-expectedlabel=\"start alt-before end label start alt-after end\" data-testname=\"link name from fallback content mixing attr() and strings with ::before and ::after\" class=\"ex fallback-before-mixed fallback-after-mixed\">label</a><br>\n<br>\n\n<h1>Empty alternative text for CSS content in pseudo-elements when applied to primitive appearance form controls</h1>\n<p><input data-expectedlabel=\"\" data-testname=\"primitive radio input with ::before containing empty alternative text\" class=\"ex fallback-before-empty\" type=radio style=appearance:none>\n<p><input data-expectedlabel=\"\" data-testname=\"primitive radio input with ::before containing empty alternative text for an image\" class=\"ex fallback-before-image-empty\" type=radio style=appearance:none>\n\n<h1>simple w/ for each child</h1>\n<button data-expectedlabel=\"one two three\" data-testname=\"button name from content for each child\" class=\"ex\"><span>one</span> <span>two</span> <span>three</span></button><br>\n<h3 data-expectedlabel=\"one two three\" data-testname=\"heading name from content for each child\" class=\"ex\"><span>one</span> <span>two</span> <span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three\" data-testname=\"link name from content for each child\" class=\"ex\"><span>one</span> <span>two</span> <span>three</span></a><br>\n<br>\n\n<h1>simple for each child with image</h1>\n<button data-expectedlabel=\"one two three\" data-testname=\"button name from content for each child including image\" class=\"ex\"><span>one</span> <img alt=\"two\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"> <span>three</span></button><br>\n<h3 data-expectedlabel=\"one two three\" data-testname=\"heading name from content for each child including image\" class=\"ex\"><span>one</span> <img alt=\"two\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"> <span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three\" data-testname=\"link name from content for each child including image\" class=\"ex\"><span>one</span> <img alt=\"two\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"> <span>three</span></a><br>\n<br>\n\n\n<h1>simple for each child with extra nesting containing image</h1>\n<button data-expectedlabel=\"one two three four\" data-testname=\"button name from content for each child including nested image\" class=\"ex\"><span>one</span> <span>two <img alt=\"three\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"></span> <span>four</span></button><br>\n<h3 data-expectedlabel=\"one two three four\" data-testname=\"heading name from content for each child including nested image\" class=\"ex\"><span>one</span> <span>two <img alt=\"three\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"></span> <span>four</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three four\" data-testname=\"link name from content for each child including nested image\" class=\"ex\"><span>one</span> <span>two <img alt=\"three\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"></span> <span>four</span></a><br>\n<br>\n\n<h1>heading with nested button with nested image</h1>\n<h3 data-expectedlabel=\"heading button image button heading\" data-testname=\"heading name from content for each child including nested button with nested image\" class=\"ex\">\n heading\n <button>\n button\n <img alt=\"image\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n button\n </button>\n heading\n</h3>\n\n<h1>heading with nested link with nested image</h1>\n<h3 data-expectedlabel=\"heading link image link heading\" data-testname=\"heading name from content for each child including nested link with nested image\" class=\"ex\">\n heading\n <a href=\"#\">\n link\n <img alt=\"image\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n link\n </a>\n heading\n</h3>\n\n<h1>heading with nested link with nested image using aria-label</h1>\n<h3 data-expectedlabel=\"heading link aria-label heading\" data-testname=\"heading name from content for each child including nested link using aria-label with nested image\" class=\"ex\">\n heading\n <a href=\"#\" aria-label=\"link aria-label\"><!-- should skip the other link text -->\n ignored link text\n <img id=\"nested_image_label_1\" alt=\"ignored image alt\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n ignored link text\n </a>\n heading\n</h3>\n\n<h1>heading with nested link with nested image using aria-labelledby</h1>\n<h3 data-expectedlabel=\"heading image heading\" data-testname=\"heading name from content for each child including nested link using aria-labelledby with nested image\" class=\"ex\">\n heading\n <a href=\"#\" aria-labelledby=\"nested_image_label1\"><!-- should skip the other link text -->\n ignored link text\n <img id=\"nested_image_label1\" alt=\"image\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n ignored link text\n </a>\n heading\n</h3>\n\n<h1>heading with two nested links referencing image using aria-labelledby</h1>\n<h3 data-expectedlabel=\"image link2 link3\" data-testname=\"heading name from content for each child including two nested links using aria-labelledby with nested image\" class=\"ex\">\n <a href=\"#\" aria-labelledby=\"nested_image_label2\">\n link1<!-- this text is skipped because of aria-labelledby -->\n </a>\n <a href=\"#\" data-expectedlabel=\"link2 image link3\" data-testname=\"link name from content for each child including nested image (referenced elsewhere via labelledby)\" class=\"ex\">\n link2\n <img id=\"nested_image_label2\" alt=\"image\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n <!-- image skipped in this link (when computing heading text) because it was already referenced by the first link within this heading label recursion cycle. -->\n <!-- but image not skipped when computing the text of the link itself since it has not been referenced in that context -->\n link3\n </a>\n</h3>\n\n\n<!-- Note: The following test is out of line with the spec, but matching two out of three implementations at the time of writing, and spec changes are expeected. -->\n<!-- See details in https://github.com/w3c/accname/issues/205 -->\n<!-- Final spec resolution will be addressed in AccName Whitespace Project: https://github.com/w3c/accname/projects/1#card-42288231 -->\n<h1>simple w/ for each child (w/o spaces and display:inline)</h1>\n<button data-expectedlabel=\"onetwothree\" data-testname=\"button name from content for each child (no space, inline)\" class=\"ex\"><span>one</span><span>two</span><span>three</span></button><br>\n<h3 data-expectedlabel=\"onetwothree\" data-testname=\"heading name from content for each child (no space, inline)\" class=\"ex\"><span>one</span><span>two</span><span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"onetwothree\" data-testname=\"link name from content for each child (no space, inline)\" class=\"ex\"><span>one</span><span>two</span><span>three</span></a><br>\n<br>\n\n<h1>simple w/ for each child (w/o spaces and display:block)</h1>\n<button data-expectedlabel=\"one two three\" data-testname=\"button name from content for each child (no space, display:block)\" class=\"ex block\"><span>one</span><span>two</span><span>three</span></button><br>\n<h3 data-expectedlabel=\"one two three\" data-testname=\"heading name from content for each child (no space, display:block)\" class=\"ex block\"><span>one</span><span>two</span><span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three\" data-testname=\"link name from content for each child (no space, display:block)\" class=\"ex block\"><span>one</span><span>two</span><span>three</span></a><br>\n<br>\n\n<h1>simple w/ for each child (w/o spaces and display:inline block)</h1>\n<button data-expectedlabel=\"one two three\" data-testname=\"button name from content for each child (no space, display:inline-block)\" class=\"ex iblock\"><span>one</span><span>two</span><span>three</span></button><br>\n<h3 data-expectedlabel=\"one two three\" data-testname=\"heading name from content for each child (no space, display:inline-block)\" class=\"ex iblock\"><span>one</span><span>two</span><span>three</span></h3>\n<a href=\"#\" data-expectedlabel=\"one two three\" data-testname=\"link name from content for each child (no space, display:inline-block)\" class=\"ex iblock\"><span>one</span><span>two</span><span>three</span></a><br>\n<br>\n\n<h1 data-expectedlabel=\"Call us\" data-testname=\"heading name from content with text-transform:none\" class=\"ex\" style=\"text-transform:none;\">Call us</h1>\n<h1 data-expectedlabel=\"CALL US\" data-testname=\"heading name from content with text-transform:uppercase\" class=\"ex\" style=\"text-transform:uppercase;\">Call us</h1>\n<h1 data-expectedlabel=\"Call Us\" data-testname=\"heading name from content with text-transform:capitalize\" class=\"ex\" style=\"text-transform:capitalize;\">Call us</h1>\n<h1 data-expectedlabel=\"call us\" data-testname=\"heading name from content with text-transform:lowercase\" class=\"ex\" style=\"text-transform:lowercase;\">Call us</h1>\n\n<!-- \u201c\u3073\u3087\u3046\u3044\u3093\u306e\u304b\u3093\u3058\u3083\u30b5\u30fc\u30d3\u30b9\u201d means \u201cHospital patient services\u201d -->\n<!-- text-transform:full-size-kana risks changing the heading\u2019s meaning -->\n<!-- by transforming the following words: -->\n<!-- 1. \u3073\u3087\u3046\u3044\u3093 (by\u014din = hospital) into \u3073\u3088\u3046\u3044\u3093 (biy\u014din = beauty parlor) -->\n<!-- 2. \u304b\u3093\u3058\u3083 (kanja = patient) into \u304b\u3093\u3058\u3084 (kanjiya = [no meaning]) -->\n<h1>heading which visually transforms <span lang=\"ja\">\u3073\u3087\u3046\u3044\u3093</span> (hospital) to\n <span lang=\"ja\">\u3073\u3088\u3046\u3044\u3093</span> (beauty parlor) using CSS\n <code>text-transform:full-size-kana</code></h1>\n<h3\n lang=\"ja\"\n data-expectedlabel=\"\u3073\u3087\u3046\u3044\u3093\u306e\u304b\u3093\u3058\u3083\u30b5\u30fc\u30d3\u30b9\"\n data-testname=\"heading name from content with text-transform:full-size-kana\"\n class=\"ex\"\n style=\"text-transform:full-size-kana;\"\n>\u3073\u3087\u3046\u3044\u3093\u306e\u304b\u3093\u3058\u3083\u30b5\u30fc\u30d3\u30b9</h3>\n\n<!-- Tests `Name from Each Child` edge case failures with an embedded `term` as a child element role. -->\n<!-- https://w3c.github.io/accname/#comp_name_from_content_for_each_child -->\n\n<h2>Elements with implicit button, heading, link roles containing element with\n implicit term role</h2>\n<button\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit button name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></button>\n<h3\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit heading name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></h3>\n<a\n href=\"#\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit link name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></a>\n\n<h2>Elements with implicit button, heading, link roles containing element with\n explicit term role</h2>\n<button\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit button name from content containing an element with explicit term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></button>\n<h3\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit heading name from content containing an element with explicit term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></h3>\n<a\n href=\"#\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"implicit link name from content containing an element explicit with term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></a>\n\n<h2>Elements with explicit button, heading, link roles containing element with\n implicit term role</h2>\n<div\n role=\"button\"\n tabindex=\"0\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit button name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></div>\n<div\n role=\"heading\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit heading name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></div>\n<div\n role=\"link\"\n tabindex=\"0\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit link name from content containing a dfn element\"\n class=\"ex iblock\"\n><span>this is an </span><dfn>example</dfn></div>\n\n<h2>Elements with explicit button, heading, link roles containing element with\n explicit term role</h2>\n<div\n role=\"button\"\n tabindex=\"0\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit button name from content containing an element explicit with term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></div>\n<div\n role=\"heading\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit heading name from content containing an element explicit with term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></div>\n<div\n role=\"link\"\n tabindex=\"0\"\n data-expectedlabel=\"this is an example\"\n data-testname=\"explicit link name from content containing an element explicit with term role\"\n class=\"ex iblock\"\n><span>this is an </span><span role=\"term\">example</span></div>", 1162 1162 "selector": ".ex" 1163 1163 }, 1164 1164 { @@ -1197,10 +1197,17 @@ window.wpt["wai-aria"] = [ 1197 1197 { 1198 1198 "filename": "fallback-roles.html", 1199 1199 "title": "Fallback Role Verification Tests",1200 -1 "html": "<style type=\"text/css\"></style><p>Tests <a href=\"https://w3c.github.io/aria/#host_general_role\">8.1 Role Attribute</a> role token list selection and <a href=\"https://w3c.github.io/aria/#document-handling_author-errors_roles\">9.1 Roles - handling author errors</a>.</p>\n\n <!-- known el and two known ARIA 1.0 roles -->\n <nav role=\"region group\" data-testname=\"fallback role w/ region with no label\" data-expectedrole=\"group\" class=\"ex\">x</nav>\n <nav role=\"region group\" data-testname=\"fallback role w/ region with label\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</nav>\n\n <!-- known el and known ARIA 1.1 with 1.0 role backup -->\n <div role=\"switch checkbox\" aria-checked=\"true\" data-testname=\"aria 1.1 switch role w/ fallback to aria 1.0 checkbox role\" aria-label=\"x\" data-expectedrole=\"switch\" class=\"ex\">x</div>\n\n <!-- known el and invalid role token with valid backup -->\n <div role=\"foo button\" data-testname=\"div[role=button] ignoring invalid foo role token\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n <!-- unknown el and invalid role token with valid backup -->\n <unknown role=\"foo button\" data-testname=\"unknown[role=button] ignoring invalid foo role token\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</unknown>\n\n <!-- known el and invalid role(s) -->\n <button role=\"foo\" data-testname=\"button ignoring single invalid role token\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</unknown>\n <button role=\"foo bar\" data-testname=\"button ignoring multiple invalid role tokens\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</unknown>\n\n <!-- known el with invalid punctuation -->\n <div role=\"invalid, punctuation, tests, link, button\" data-testname=\"div[role=button] ignoring invalid foo role token including punctuation-contaminated known link role\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n\n\n <!-- extra line breaks here to account for rendering of unicode diacritic etc char glitch tests -->\n\n\n\n <div role=\"l\u0337\u0357\u030c\u0303\u035d\u0350\u0314\u031a\u0344\u0316\u033b\u0317\u0324\u033a\u031f\u0331\u035a\u0354\u0347\u034d\u0347\u032b\u0328\u0322\u032b\u031c\u0354\u0317\u031f\u0318\u032b\u031f\u0330\u0321\u033c\u0318i\u0335\u035d\u0342\u0358\u030d\u0350\u0314\u030d\u034c\u0310\u0307\u030f\u030e\u0328\u0332\u0321\u032f\u0320\u032e\u0348\u0356\u0325\u032e\u0332\u0353\u0326\u0317\u0317\u0331\u031e\u034d\u0317\u032a\u0359\u0347\u035an\u0336\u0300\u0342\u0343\u030b\u030a\u031c\u0332\u032b\u0347\u032e\u0349\u032c\u035c\u034e\u034e\u0355\u031d\u0331\u0354\u0319\u0328\u0331\u0326\u0327\u0330\u0326\u0320\u0330\u0322\u0323\u031dk\u0337\u0300\u0352\u0306\u0351\u0312\u0305\u0315\u0351\u0313\u0312\u0342\u033d\u0344\u033d\u0309\u0358\u0340\u035d\u0318\u0333\u0355\u0330\u034e\u032e\u0327\u0320\u0327\u0318\u032a\u0327\u0328\u0347\u0355\u0325\u032d\u035c\u033c\u033c\u031c\u0324\u032b\u0328\u0325\u0328\u033c\u0324\u0330\u0326\u0356\u032a \u0337\u0350\u0342\u0301\u035b\u0303\u0341\u030a\u0308\u034c\u0315\u0304\u0343\u031a\u030c\u0302\u035d\u0308\u0307\u0340\u030c\u0344\u0301\u0300\u0344\u030d\u0344\u0307\u0304\u030a\u0360\u0314\u0352\u033e\u033e\u0307\u0301\u0352\u033d\u0342\u033e\u032e\u0326\u0345\u0318\u0353\u032b\u031c\u0355\u0356\u0330\u035c\u0319\u0318\u0345\u0353\u0321\u033c\u034e\u0333\u0339\u0347\u032e\u035cg\u0338\u034b\u0351\u035d\u0311\u0315\u0343\u035b\u0313\u0309\u0314\u0309\u0351\u0307\u0301\u0344\u0309\u0303\u0301\u0311\u030d\u035d\u031b\u0302\u0315\u0312\u0350\u031a\u035b\u0357\u0311\u030f\u0343\u031a\u033e\u034c\u0308\u0305\u0301\u0307\u033a\u0328\u0326\u0323\u0327\u0347\u0348\u0359\u0347\u0327\u0327\u034e\u0355\u0320\u031e\u0333\u0339\u0345\u0327\u0323r\u0336\u030b\u033e\u0340\u0358\u0360\u0301\u0341\u0312\u0340\u0340\u0351\u0358\u030e\u0340\u030c\u031b\u0308\u0300\u030d\u0360\u0302\u030f\u030a\u030e\u0350\u0358\u0352\u0357\u0357\u0340\u0324\u0332\u0318\u032e\u031f\u032d\u0332o\u0334\u030f\u030a\u034b\u0350\u0310\u0346\u0358\u0308\u033f\u0312\u030a\u0304\u0351\u0344\u0314\u034b\u0314\u0303\u0350\u0343\u0313\u0360\u035b\u0358\u0301\u034a\u0309\u0351\u030a\u0314\u0346\u031e\u031d\u0320\u0319\u0327\u032c\u0321\u0322\u0317\u034d\u034d\u0349\u0321\u033a\u0354\u0359\u0322\u032b\u031d\u0330\u032e\u031c\u0329\u035c\u0319\u0345\u0333\u0349\u033b\u033b\u033c\u034du\u0334\u0307\u0308\u0360\u0352\u0331\u032f\u031e\u031e\u031e\u033a\u033c\u0333\u0333\u035a\u031ep\u0336\u035d\u0302\u0310\u030c\u030f\u034c\u0344\u035d\u0357\u033e\u035d\u034c\u033f\u0313\u0358\u0352\u030b\u0306\u0346\u031a\u033e\u035b\u031b\u0310\u0344\u0343\u034b\u0300\u0349\u032e\u0319\u032f\u032e\u0331\u0349\u0316\u035a\u0349\u0329\u0331\u033a\u0329\u0326\u033a\u0348\u032b\u034d\u0354\u0332\u0323\u0317\u031f\u031c \u0336\u030d\u0344\u0357\u0350\u0300\u030a\u030f\u035b\u0303\u0344\u034b\u035d\u0305\u0354\u035a\u0329\u032c\u0348 button\" data-testname=\"div[role=button] ignoring invalid unicode diacritics etc on link and group role tokens\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n\n <!-- known el and known role with whitespace edge cases -->\n <div role=\" button\" data-testname=\"div[role=button] ignoring tab char\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n <div role=\"\nbutton\" data-testname=\"div[role=button] ignoring line break\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n <div role=\"\u2800 button\" data-testname=\"div[role=button] ignoring braille whitespace char\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>",-1 1200 "html": "<style type=\"text/css\"></style><p>Tests <a href=\"https://w3c.github.io/aria/#host_general_role\">8.1 Role Attribute</a> role token list selection and <a href=\"https://w3c.github.io/aria/#document-handling_author-errors_roles\">9.1 Roles - handling author errors</a>.</p>\n\n <!-- known el and two known ARIA 1.0 roles -->\n <nav role=\"region group\" data-testname=\"fallback role w/ region with no label\" data-expectedrole=\"group\" class=\"ex\">x</nav>\n <nav role=\"region group\" data-testname=\"fallback role w/ region with label\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</nav>\n\n <!-- known el and known ARIA 1.1 with 1.0 role backup -->\n <div role=\"switch checkbox\" aria-checked=\"true\" data-testname=\"aria 1.1 switch role w/ fallback to aria 1.0 checkbox role\" aria-label=\"x\" data-expectedrole=\"switch\" class=\"ex\">x</div>\n\n <!-- known el and invalid role token with valid backup -->\n <div role=\"foo button\" data-testname=\"div[role=button] ignoring invalid foo role token\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n <!-- unknown el and invalid role token with valid backup -->\n <unknown role=\"foo button\" data-testname=\"unknown[role=button] ignoring invalid foo role token\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</unknown>\n\n <!-- known el and invalid role(s) -->\n <button role=\"foo\" data-testname=\"button ignoring single invalid role token\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</unknown>\n <button role=\"foo bar\" data-testname=\"button ignoring multiple invalid role tokens\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</unknown>\n\n <!-- known el with invalid punctuation -->\n <div role=\"invalid, punctuation, tests, link, button\" data-testname=\"div[role=button] ignoring invalid foo role token including punctuation-contaminated known link role\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n\n\n <!-- extra line breaks here to account for rendering of unicode diacritic etc char glitch tests -->\n\n\n\n <div role=\"l\u0337\u0357\u030c\u0303\u035d\u0350\u0314\u031a\u0344\u0316\u033b\u0317\u0324\u033a\u031f\u0331\u035a\u0354\u0347\u034d\u0347\u032b\u0328\u0322\u032b\u031c\u0354\u0317\u031f\u0318\u032b\u031f\u0330\u0321\u033c\u0318i\u0335\u035d\u0342\u0358\u030d\u0350\u0314\u030d\u034c\u0310\u0307\u030f\u030e\u0328\u0332\u0321\u032f\u0320\u032e\u0348\u0356\u0325\u032e\u0332\u0353\u0326\u0317\u0317\u0331\u031e\u034d\u0317\u032a\u0359\u0347\u035an\u0336\u0300\u0342\u0343\u030b\u030a\u031c\u0332\u032b\u0347\u032e\u0349\u032c\u035c\u034e\u034e\u0355\u031d\u0331\u0354\u0319\u0328\u0331\u0326\u0327\u0330\u0326\u0320\u0330\u0322\u0323\u031dk\u0337\u0300\u0352\u0306\u0351\u0312\u0305\u0315\u0351\u0313\u0312\u0342\u033d\u0344\u033d\u0309\u0358\u0340\u035d\u0318\u0333\u0355\u0330\u034e\u032e\u0327\u0320\u0327\u0318\u032a\u0327\u0328\u0347\u0355\u0325\u032d\u035c\u033c\u033c\u031c\u0324\u032b\u0328\u0325\u0328\u033c\u0324\u0330\u0326\u0356\u032a \u0337\u0350\u0342\u0301\u035b\u0303\u0341\u030a\u0308\u034c\u0315\u0304\u0343\u031a\u030c\u0302\u035d\u0308\u0307\u0340\u030c\u0344\u0301\u0300\u0344\u030d\u0344\u0307\u0304\u030a\u0360\u0314\u0352\u033e\u033e\u0307\u0301\u0352\u033d\u0342\u033e\u032e\u0326\u0345\u0318\u0353\u032b\u031c\u0355\u0356\u0330\u035c\u0319\u0318\u0345\u0353\u0321\u033c\u034e\u0333\u0339\u0347\u032e\u035cg\u0338\u034b\u0351\u035d\u0311\u0315\u0343\u035b\u0313\u0309\u0314\u0309\u0351\u0307\u0301\u0344\u0309\u0303\u0301\u0311\u030d\u035d\u031b\u0302\u0315\u0312\u0350\u031a\u035b\u0357\u0311\u030f\u0343\u031a\u033e\u034c\u0308\u0305\u0301\u0307\u033a\u0328\u0326\u0323\u0327\u0347\u0348\u0359\u0347\u0327\u0327\u034e\u0355\u0320\u031e\u0333\u0339\u0345\u0327\u0323r\u0336\u030b\u033e\u0340\u0358\u0360\u0301\u0341\u0312\u0340\u0340\u0351\u0358\u030e\u0340\u030c\u031b\u0308\u0300\u030d\u0360\u0302\u030f\u030a\u030e\u0350\u0358\u0352\u0357\u0357\u0340\u0324\u0332\u0318\u032e\u031f\u032d\u0332o\u0334\u030f\u030a\u034b\u0350\u0310\u0346\u0358\u0308\u033f\u0312\u030a\u0304\u0351\u0344\u0314\u034b\u0314\u0303\u0350\u0343\u0313\u0360\u035b\u0358\u0301\u034a\u0309\u0351\u030a\u0314\u0346\u031e\u031d\u0320\u0319\u0327\u032c\u0321\u0322\u0317\u034d\u034d\u0349\u0321\u033a\u0354\u0359\u0322\u032b\u031d\u0330\u032e\u031c\u0329\u035c\u0319\u0345\u0333\u0349\u033b\u033b\u033c\u034du\u0334\u0307\u0308\u0360\u0352\u0331\u032f\u031e\u031e\u031e\u033a\u033c\u0333\u0333\u035a\u031ep\u0336\u035d\u0302\u0310\u030c\u030f\u034c\u0344\u035d\u0357\u033e\u035d\u034c\u033f\u0313\u0358\u0352\u030b\u0306\u0346\u031a\u033e\u035b\u031b\u0310\u0344\u0343\u034b\u0300\u0349\u032e\u0319\u032f\u032e\u0331\u0349\u0316\u035a\u0349\u0329\u0331\u033a\u0329\u0326\u033a\u0348\u032b\u034d\u0354\u0332\u0323\u0317\u031f\u031c \u0336\u030d\u0344\u0357\u0350\u0300\u030a\u030f\u035b\u0303\u0344\u034b\u035d\u0305\u0354\u035a\u0329\u032c\u0348 button\" data-testname=\"div[role=button] ignoring invalid unicode diacritics etc on link and group role tokens\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n\n <!-- known el and known role with whitespace edge cases -->\n <div role=\" button\" data-testname=\"div[role=button] ignoring tab char\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n <div role=\"\nbutton\" data-testname=\"div[role=button] ignoring line break\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n <div role=\"\u2800 button\" data-testname=\"div[role=button] ignoring braille whitespace char\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n <!-- various role capitalization styles and their fallbacks -->\n <div role=\"foo Link\" data-testname=\"div[role='foo Link'][tabindex=0], illegal role and capitalized fallback role, has link role\" aria-label=\"x\" tabindex=\"0\" data-expectedrole=\"link\" class=\"ex\">x</div>\n <button role=\"foo Link\" data-testname=\"button[role='foo Link'] with illegal role and capitalized fallback role, has link role\" data-expectedrole=\"link\" class=\"ex\"></button>\n <nav role=\"foo GROUP\" data-testname=\"nav[role='foo GROUP'] with illegal role and all upper case fallback role, has group role\" aria-label=\"x\" data-expectedrole=\"group\" class=\"ex\">x</nav>\n <div role=\"foo ReGiOn\" data-testname=\"div[role='foo ReGiOn'][aria-label] with illegal role and alternating case fallback role, has region role\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n <div role=\"ReGiOn foo\" data-testname=\"div[role='ReGiOn foo'] with alternating case role and illegal fallback role without accname, has generic role\" class=\"ex-generic\">x</div>\n <div role=\"ReGiOn foo\" data-testname=\"div[role='ReGiOn foo'][aria-label] with alternating case role and illegal fallback role, has region role\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n\n <div role=\"BUTTON LINK\" data-testname=\"div[role='BUTTON LINK'] with tabindex=0, has button role\" aria-label=\"x\" tabindex=\"0\" data-expectedrole=\"button\" class=\"ex\">x</div>\n <div role=\"ReGiOn group\" data-testname=\"div[role='ReGiOn group'] without accname, has group role\" data-expectedrole=\"group\" class=\"ex\">x</div>\n <div role=\"ReGiOn group\" data-testname=\"div[role='ReGiOn group'][aria-label], has region role\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n\n <div role=\"\nbuTtOn\" data-testname=\"div[role=buTtOn] ignoring line break, has button role\" tabindex=\"0\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>", 1201 1201 "selector": ".ex" 1202 1202 }, 1203 1203 { -1 1204 "filename": "fallback-roles.html", -1 1205 "title": "Fallback Role Verification Tests", -1 1206 "html": "<style type=\"text/css\"></style><p>Tests <a href=\"https://w3c.github.io/aria/#host_general_role\">8.1 Role Attribute</a> role token list selection and <a href=\"https://w3c.github.io/aria/#document-handling_author-errors_roles\">9.1 Roles - handling author errors</a>.</p>\n\n <!-- known el and two known ARIA 1.0 roles -->\n <nav role=\"region group\" data-testname=\"fallback role w/ region with no label\" data-expectedrole=\"group\" class=\"ex\">x</nav>\n <nav role=\"region group\" data-testname=\"fallback role w/ region with label\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</nav>\n\n <!-- known el and known ARIA 1.1 with 1.0 role backup -->\n <div role=\"switch checkbox\" aria-checked=\"true\" data-testname=\"aria 1.1 switch role w/ fallback to aria 1.0 checkbox role\" aria-label=\"x\" data-expectedrole=\"switch\" class=\"ex\">x</div>\n\n <!-- known el and invalid role token with valid backup -->\n <div role=\"foo button\" data-testname=\"div[role=button] ignoring invalid foo role token\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n <!-- unknown el and invalid role token with valid backup -->\n <unknown role=\"foo button\" data-testname=\"unknown[role=button] ignoring invalid foo role token\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</unknown>\n\n <!-- known el and invalid role(s) -->\n <button role=\"foo\" data-testname=\"button ignoring single invalid role token\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</unknown>\n <button role=\"foo bar\" data-testname=\"button ignoring multiple invalid role tokens\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</unknown>\n\n <!-- known el with invalid punctuation -->\n <div role=\"invalid, punctuation, tests, link, button\" data-testname=\"div[role=button] ignoring invalid foo role token including punctuation-contaminated known link role\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n\n\n <!-- extra line breaks here to account for rendering of unicode diacritic etc char glitch tests -->\n\n\n\n <div role=\"l\u0337\u0357\u030c\u0303\u035d\u0350\u0314\u031a\u0344\u0316\u033b\u0317\u0324\u033a\u031f\u0331\u035a\u0354\u0347\u034d\u0347\u032b\u0328\u0322\u032b\u031c\u0354\u0317\u031f\u0318\u032b\u031f\u0330\u0321\u033c\u0318i\u0335\u035d\u0342\u0358\u030d\u0350\u0314\u030d\u034c\u0310\u0307\u030f\u030e\u0328\u0332\u0321\u032f\u0320\u032e\u0348\u0356\u0325\u032e\u0332\u0353\u0326\u0317\u0317\u0331\u031e\u034d\u0317\u032a\u0359\u0347\u035an\u0336\u0300\u0342\u0343\u030b\u030a\u031c\u0332\u032b\u0347\u032e\u0349\u032c\u035c\u034e\u034e\u0355\u031d\u0331\u0354\u0319\u0328\u0331\u0326\u0327\u0330\u0326\u0320\u0330\u0322\u0323\u031dk\u0337\u0300\u0352\u0306\u0351\u0312\u0305\u0315\u0351\u0313\u0312\u0342\u033d\u0344\u033d\u0309\u0358\u0340\u035d\u0318\u0333\u0355\u0330\u034e\u032e\u0327\u0320\u0327\u0318\u032a\u0327\u0328\u0347\u0355\u0325\u032d\u035c\u033c\u033c\u031c\u0324\u032b\u0328\u0325\u0328\u033c\u0324\u0330\u0326\u0356\u032a \u0337\u0350\u0342\u0301\u035b\u0303\u0341\u030a\u0308\u034c\u0315\u0304\u0343\u031a\u030c\u0302\u035d\u0308\u0307\u0340\u030c\u0344\u0301\u0300\u0344\u030d\u0344\u0307\u0304\u030a\u0360\u0314\u0352\u033e\u033e\u0307\u0301\u0352\u033d\u0342\u033e\u032e\u0326\u0345\u0318\u0353\u032b\u031c\u0355\u0356\u0330\u035c\u0319\u0318\u0345\u0353\u0321\u033c\u034e\u0333\u0339\u0347\u032e\u035cg\u0338\u034b\u0351\u035d\u0311\u0315\u0343\u035b\u0313\u0309\u0314\u0309\u0351\u0307\u0301\u0344\u0309\u0303\u0301\u0311\u030d\u035d\u031b\u0302\u0315\u0312\u0350\u031a\u035b\u0357\u0311\u030f\u0343\u031a\u033e\u034c\u0308\u0305\u0301\u0307\u033a\u0328\u0326\u0323\u0327\u0347\u0348\u0359\u0347\u0327\u0327\u034e\u0355\u0320\u031e\u0333\u0339\u0345\u0327\u0323r\u0336\u030b\u033e\u0340\u0358\u0360\u0301\u0341\u0312\u0340\u0340\u0351\u0358\u030e\u0340\u030c\u031b\u0308\u0300\u030d\u0360\u0302\u030f\u030a\u030e\u0350\u0358\u0352\u0357\u0357\u0340\u0324\u0332\u0318\u032e\u031f\u032d\u0332o\u0334\u030f\u030a\u034b\u0350\u0310\u0346\u0358\u0308\u033f\u0312\u030a\u0304\u0351\u0344\u0314\u034b\u0314\u0303\u0350\u0343\u0313\u0360\u035b\u0358\u0301\u034a\u0309\u0351\u030a\u0314\u0346\u031e\u031d\u0320\u0319\u0327\u032c\u0321\u0322\u0317\u034d\u034d\u0349\u0321\u033a\u0354\u0359\u0322\u032b\u031d\u0330\u032e\u031c\u0329\u035c\u0319\u0345\u0333\u0349\u033b\u033b\u033c\u034du\u0334\u0307\u0308\u0360\u0352\u0331\u032f\u031e\u031e\u031e\u033a\u033c\u0333\u0333\u035a\u031ep\u0336\u035d\u0302\u0310\u030c\u030f\u034c\u0344\u035d\u0357\u033e\u035d\u034c\u033f\u0313\u0358\u0352\u030b\u0306\u0346\u031a\u033e\u035b\u031b\u0310\u0344\u0343\u034b\u0300\u0349\u032e\u0319\u032f\u032e\u0331\u0349\u0316\u035a\u0349\u0329\u0331\u033a\u0329\u0326\u033a\u0348\u032b\u034d\u0354\u0332\u0323\u0317\u031f\u031c \u0336\u030d\u0344\u0357\u0350\u0300\u030a\u030f\u035b\u0303\u0344\u034b\u035d\u0305\u0354\u035a\u0329\u032c\u0348 button\" data-testname=\"div[role=button] ignoring invalid unicode diacritics etc on link and group role tokens\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n\n <!-- known el and known role with whitespace edge cases -->\n <div role=\" button\" data-testname=\"div[role=button] ignoring tab char\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n <div role=\"\nbutton\" data-testname=\"div[role=button] ignoring line break\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n <div role=\"\u2800 button\" data-testname=\"div[role=button] ignoring braille whitespace char\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>\n\n <!-- various role capitalization styles and their fallbacks -->\n <div role=\"foo Link\" data-testname=\"div[role='foo Link'][tabindex=0], illegal role and capitalized fallback role, has link role\" aria-label=\"x\" tabindex=\"0\" data-expectedrole=\"link\" class=\"ex\">x</div>\n <button role=\"foo Link\" data-testname=\"button[role='foo Link'] with illegal role and capitalized fallback role, has link role\" data-expectedrole=\"link\" class=\"ex\"></button>\n <nav role=\"foo GROUP\" data-testname=\"nav[role='foo GROUP'] with illegal role and all upper case fallback role, has group role\" aria-label=\"x\" data-expectedrole=\"group\" class=\"ex\">x</nav>\n <div role=\"foo ReGiOn\" data-testname=\"div[role='foo ReGiOn'][aria-label] with illegal role and alternating case fallback role, has region role\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n <div role=\"ReGiOn foo\" data-testname=\"div[role='ReGiOn foo'] with alternating case role and illegal fallback role without accname, has generic role\" class=\"ex-generic\">x</div>\n <div role=\"ReGiOn foo\" data-testname=\"div[role='ReGiOn foo'][aria-label] with alternating case role and illegal fallback role, has region role\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n\n <div role=\"BUTTON LINK\" data-testname=\"div[role='BUTTON LINK'] with tabindex=0, has button role\" aria-label=\"x\" tabindex=\"0\" data-expectedrole=\"button\" class=\"ex\">x</div>\n <div role=\"ReGiOn group\" data-testname=\"div[role='ReGiOn group'] without accname, has group role\" data-expectedrole=\"group\" class=\"ex\">x</div>\n <div role=\"ReGiOn group\" data-testname=\"div[role='ReGiOn group'][aria-label], has region role\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n\n <div role=\"\nbuTtOn\" data-testname=\"div[role=buTtOn] ignoring line break, has button role\" tabindex=\"0\" aria-label=\"x\" data-expectedrole=\"button\" class=\"ex\">x</div>", -1 1207 "role": "generic", -1 1208 "selector": ".ex-generic" -1 1209 }, -1 1210 { 1204 1211 "filename": "region-roles.html", 1205 1212 "title": "Region Role Verification Tests", 1206 1213 "html": "<style type=\"text/css\"></style><p>Tests <a href=\"https://w3c.github.io/aria/#region\">region</a> and related roles, as well as the \"name from author\" rule in <a href=\"https://w3c.github.io/aria/#document-handling_author-errors_roles\">9.1 Roles - handling author errors</a>.</p>\n\n<!-- no label -->\n<nav role=\"region\" data-testname=\"region without label\" data-expectedrole=\"navigation\" class=\"ex\">x</nav>\n\n<!-- w/ label -->\n<nav role=\"region\" data-testname=\"region with label\" data-expectedrole=\"region\" aria-label=\"x\" class=\"ex\">x</nav>", @@ -1311,19 +1318,6 @@ window.wpt["graphics-aria"] = [ 1311 1318 window.wpt["dpub-aria"] = []; 1312 1319 window.wpt["core-aam"] = [ 1313 1320 {1314 -1 "filename": "roles-contextual.html",1315 -1 "title": "Core AAM Contextual-Specific Role Verification Tests",1316 -1 "html": "<style type=\"text/css\"></style><p>Tests contextual computed role mappings defined in <a href=\"https://w3c.github.io/core-aam/\">HTML AAM</a>, where the returned computed role is expected to change based on the context. Most test names correspond to a unique ID defined in the spec.<p>\n\n<p>These should remain in alphabetical order.</code></p>\n\n<!-- role-map-region and role-map-region-nameless -->\n<div role=\"region\" data-testname=\"role-map-region\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-nameless\" class=\"ex-generic\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby\" data-expectedrole=\"region\" class=\"ex\" aria-labelledby=\"labelledby\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby-empty\" class=\"ex-generic\" aria-labelledby=\"empty\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby-whitespace\" class=\"ex-generic\" aria-labelledby=\"space\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title\" data-expectedrole=\"region\" title=\"x\" class=\"ex\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title-empty\" class=\"ex-generic\" title=\"\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title-whitespace\" class=\"ex-generic\" title=\" \">x</div>\n\n<!-- element to reference for aria-labelledby tests -->\n<div id=\"labelledby\">labelledby</div>\n<div id=\"empty\"></div>\n<div id=\"space\"> </div>",1317 -1 "selector": ".ex"1318 -1 },1319 -1 {1320 -1 "filename": "roles-contextual.html",1321 -1 "title": "Core AAM Contextual-Specific Role Verification Tests",1322 -1 "html": "<style type=\"text/css\"></style><p>Tests contextual computed role mappings defined in <a href=\"https://w3c.github.io/core-aam/\">HTML AAM</a>, where the returned computed role is expected to change based on the context. Most test names correspond to a unique ID defined in the spec.<p>\n\n<p>These should remain in alphabetical order.</code></p>\n\n<!-- role-map-region and role-map-region-nameless -->\n<div role=\"region\" data-testname=\"role-map-region\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-nameless\" class=\"ex-generic\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby\" data-expectedrole=\"region\" class=\"ex\" aria-labelledby=\"labelledby\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby-empty\" class=\"ex-generic\" aria-labelledby=\"empty\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby-whitespace\" class=\"ex-generic\" aria-labelledby=\"space\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title\" data-expectedrole=\"region\" title=\"x\" class=\"ex\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title-empty\" class=\"ex-generic\" title=\"\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title-whitespace\" class=\"ex-generic\" title=\" \">x</div>\n\n<!-- element to reference for aria-labelledby tests -->\n<div id=\"labelledby\">labelledby</div>\n<div id=\"empty\"></div>\n<div id=\"space\"> </div>",1323 -1 "role": "generic",1324 -1 "selector": ".ex-generic"1325 -1 },1326 -1 {1327 1321 "filename": "aria-labelledby-manual.html", 1328 1322 "title": "aria-labelledby", 1329 1323 "html": "<p>This test examines the ARIA properties for aria-labelledby.</p>\n <div role='group' id='test' aria-labelledby='label'>content</div>\n <div id='label'>hello world</div>", @@ -1350,6 +1344,19 @@ window.wpt["core-aam"] = [ 1350 1344 "html": "<p>This test examines the ARIA properties for rowgroup with no author-provided name.</p>\n <div role='grid'>\n <div role='rowgroup' id='test'>\n <div role='row'>\n <div role='cell'>content</div>\n </div>\n <div role='row'>\n <div role='cell'>content</div>\n </div>\n </div>\n </div>", 1351 1345 "selector": "#test", 1352 1346 "name": "" -1 1347 }, -1 1348 { -1 1349 "filename": "roles-contextual.html", -1 1350 "title": "Core AAM Contextual-Specific Role Verification Tests", -1 1351 "html": "<style type=\"text/css\"></style><p>Tests contextual computed role mappings defined in <a href=\"https://w3c.github.io/core-aam/\">HTML AAM</a>, where the returned computed role is expected to change based on the context. Most test names correspond to a unique ID defined in the spec.<p>\n\n<p>These should remain in alphabetical order.</code></p>\n\n<!-- role-map-region and role-map-region-nameless -->\n<div role=\"region\" data-testname=\"role-map-region\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-nameless\" class=\"ex-generic\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby\" data-expectedrole=\"region\" class=\"ex\" aria-labelledby=\"labelledby\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title\" data-expectedrole=\"region\" title=\"x\" class=\"ex\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title-empty\" class=\"ex-generic\" title=\"\">x</div>\n\n<!-- element to reference for aria-labelledby tests -->\n<div id=\"labelledby\">labelledby</div>\n<div id=\"empty\"></div>\n<div id=\"space\"> </div>", -1 1352 "selector": ".ex" -1 1353 }, -1 1354 { -1 1355 "filename": "roles-contextual.html", -1 1356 "title": "Core AAM Contextual-Specific Role Verification Tests", -1 1357 "html": "<style type=\"text/css\"></style><p>Tests contextual computed role mappings defined in <a href=\"https://w3c.github.io/core-aam/\">HTML AAM</a>, where the returned computed role is expected to change based on the context. Most test names correspond to a unique ID defined in the spec.<p>\n\n<p>These should remain in alphabetical order.</code></p>\n\n<!-- role-map-region and role-map-region-nameless -->\n<div role=\"region\" data-testname=\"role-map-region\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-nameless\" class=\"ex-generic\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby\" data-expectedrole=\"region\" class=\"ex\" aria-labelledby=\"labelledby\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title\" data-expectedrole=\"region\" title=\"x\" class=\"ex\">x</div>\n<div role=\"region\" data-testname=\"role-map-region-title-empty\" class=\"ex-generic\" title=\"\">x</div>\n\n<!-- element to reference for aria-labelledby tests -->\n<div id=\"labelledby\">labelledby</div>\n<div id=\"empty\"></div>\n<div id=\"space\"> </div>", -1 1358 "role": "generic", -1 1359 "selector": ".ex-generic" 1353 1360 } 1354 1361 ]; 1355 1362 window.wpt["graphics-aam"] = []; @@ -1358,13 +1365,13 @@ window.wpt["html-aam"] = [ 1358 1365 { 1359 1366 "filename": "roles-contextual.html", 1360 1367 "title": "HTML-AAM Contextual-Specific Role Verification Tests",1361 -1 "html": "<style type=\"text/css\"></style><p>Tests contextual computed role mappings defined in <a href=\"https://w3c.github.io/html-aam/\">HTML-AAM</a>, where the returned computed role is expected to change based on the context. Most test names correspond to a unique ID defined in the spec.<p>\n\n<p>These should remain in alphabetical order.</code></p>\n\n\n<!-- el-a -->\n<a href=\"#\" data-testname=\"el-a\" data-expectedrole=\"link\" class=\"ex\">x</a>\n<a data-testname=\"el-a-no-href\" class=\"ex-generic\">x</a>\n\n<!-- el-aside -->\n<aside data-testname=\"el-aside\" data-expectedrole=\"complementary\" class=\"ex\">x</aside>\n<main>\n <aside data-testname=\"el-aside-in-main\" data-expectedrole=\"complementary\" class=\"ex\">x</aside>\n <article>\n <aside data-testname=\"el-aside-in-article-in-main\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-article-in-main-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n </article>\n</main>\n<article>\n <aside data-testname=\"el-aside-in-article\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-article-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n</article>\n<aside>\n <aside data-testname=\"el-aside-in-aside\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-aside-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n</aside>\n<nav>\n <aside data-testname=\"el-aside-in-nav\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-nav-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-nav-with-role\" data-expectedrole=\"complementary\" class=\"ex\" role=\"complementary\">x</aside>\n</nav>\n<!-- Spec says that the conditional aside mapping happens when nested in a sectioning content element.\n However, this doesn't make sense if the parent <section> isn't a landmark in the first place.\n Let's force the section to always be a landmark for now, but we should probably expand on this test\n case pending discussions in https://github.com/w3c/html-aam/pull/484 -->\n<section aria-label=\"x\">\n <aside data-testname=\"el-aside-in-section\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-section-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby\" data-expectedrole=\"complementary\" class=\"ex\" aria-labelledby=\"labelledby\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby-empty\" class=\"ex-generic\" aria-labelledby=\"empty\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby-whitespace\" class=\"ex-generic\" aria-labelledby=\"space\">x</aside>\n <aside data-testname=\"el-aside-in-section-title\" data-expectedrole=\"complementary\" title=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-section-title-empty\" class=\"ex-generic\" title=\"\">x</aside>\n <aside data-testname=\"el-aside-in-section-title-whitespace\" class=\"ex-generic\" title=\" \">x</aside>\n</section>\n\n<!-- el-footer -->\n<!-- nav>footer -> ./roles-contextual.tentative.html -->\n<footer data-testname=\"el-footer-ancestorbody\" data-expectedrole=\"contentinfo\" class=\"ex\">x</footer>\n<!-- main>footer -> ./roles-contextual.tentative.html -->\n\n<!-- el-header -->\n<!-- nav>header -> ./roles-contextual.tentative.html -->\n<header data-testname=\"el-header-ancestorbody\" data-expectedrole=\"banner\" class=\"ex\">x</header>\n<!-- main>header -> ./roles-contextual.tentative.html -->\n\n<!-- el-img-empty-alt -->\n<img data-testname=\"el-img-no-name\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n<!-- img empty alt -> ./roles.html -->\n<img data-testname=\"el-img-empty-alt-aria-label\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\"x\">\n<img data-testname=\"el-img-empty-alt-aria-label-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\"\">\n<img data-testname=\"el-img-empty-alt-aria-label-whitespace\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\" \">\n<img data-testname=\"el-img-empty-alt-aria-labelledby\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"labelledby\">\n<img data-testname=\"el-img-empty-alt-aria-labelledby-non-existing\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"non-existing\">\n<img data-testname=\"el-img-empty-alt-aria-labelledby-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"empty\">\n<img data-testname=\"el-img-empty-alt-aria-labelledby-whitespace\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"space\">\n<img data-testname=\"el-img-empty-alt-title\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\"x\">\n<img data-testname=\"el-img-empty-alt-title-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\"\">\n<img data-testname=\"el-img-empty-alt-title-whitespace\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\" \">\n\n\n<!-- el-section -->\n<section data-testname=\"el-section\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</section>\n<section data-testname=\"el-section-no-name\" class=\"ex-generic\">x</section>\n<section data-testname=\"el-section-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</section>\n<section data-testname=\"el-section-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</section>\n<section data-testname=\"el-section-aria-labelledby\" data-expectedrole=\"region\" class=\"ex\" aria-labelledby=\"labelledby\">x</section>\n<section data-testname=\"el-section-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</section>\n<section data-testname=\"el-section-aria-labelledby-empty\" class=\"ex-generic\" aria-labelledby=\"empty\">x</section>\n<section data-testname=\"el-section-aria-labelledby-whitespace\" class=\"ex-generic\" aria-labelledby=\"space\">x</section>\n<section data-testname=\"el-section-title\" data-expectedrole=\"region\" title=\"x\" class=\"ex\">x</section>\n<section data-testname=\"el-section-title-empty\" class=\"ex-generic\" title=\"\">x</section>\n<section data-testname=\"el-section-title-whitespace\" class=\"ex-generic\" title=\" \">x</section>\n\n<!-- element to reference for aria-labelledby tests -->\n<div id=\"labelledby\">labelledby</div>\n<div id=\"empty\"></div>\n<div id=\"space\"> </div>",-1 1368 "html": "<style type=\"text/css\"></style><p>Tests contextual computed role mappings defined in <a href=\"https://w3c.github.io/html-aam/\">HTML-AAM</a>, where the returned computed role is expected to change based on the context. Most test names correspond to a unique ID defined in the spec.<p>\n\n<p>These should remain in alphabetical order.</code></p>\n\n\n<!-- el-a -->\n<a href=\"#\" data-testname=\"el-a\" data-expectedrole=\"link\" class=\"ex\">x</a>\n<a data-testname=\"el-a-no-href\" class=\"ex-generic\">x</a>\n\n<!-- el-aside -->\n<aside data-testname=\"el-aside\" data-expectedrole=\"complementary\" class=\"ex\">x</aside>\n<main>\n <aside data-testname=\"el-aside-in-main\" data-expectedrole=\"complementary\" class=\"ex\">x</aside>\n <article>\n <aside data-testname=\"el-aside-in-article-in-main\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-article-in-main-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n </article>\n</main>\n<article>\n <aside data-testname=\"el-aside-in-article\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-article-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n</article>\n<aside>\n <aside data-testname=\"el-aside-in-aside\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-aside-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n</aside>\n<nav>\n <aside data-testname=\"el-aside-in-nav\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-nav-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-nav-with-role\" data-expectedrole=\"complementary\" class=\"ex\" role=\"complementary\">x</aside>\n</nav>\n<!-- Spec says that the conditional aside mapping happens when nested in a sectioning content element.\n However, this doesn't make sense if the parent <section> isn't a landmark in the first place.\n Let's force the section to always be a landmark for now, but we should probably expand on this test\n case pending discussions in https://github.com/w3c/html-aam/pull/484 -->\n<section aria-label=\"x\">\n <aside data-testname=\"el-aside-in-section\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-section-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby\" data-expectedrole=\"complementary\" class=\"ex\" aria-labelledby=\"labelledby\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</aside>\n <aside data-testname=\"el-aside-in-section-title\" data-expectedrole=\"complementary\" title=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-section-title-empty\" class=\"ex-generic\" title=\"\">x</aside>\n</section>\n\n<!-- el-footer -->\n<!-- nav>footer -> ./roles-contextual.tentative.html -->\n<footer data-testname=\"el-footer-ancestorbody\" data-expectedrole=\"contentinfo\" class=\"ex\">x</footer>\n<!-- main>footer -> ./roles-contextual.tentative.html -->\n\n<!-- el-header -->\n<!-- nav>header -> ./roles-contextual.tentative.html -->\n<header data-testname=\"el-header-ancestorbody\" data-expectedrole=\"banner\" class=\"ex\">x</header>\n<!-- main>header -> ./roles-contextual.tentative.html -->\n\n<!-- el-img-empty-alt -->\n<img data-testname=\"el-img-no-name\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n<!-- img empty alt -> ./roles.html -->\n<img data-testname=\"el-img-empty-alt-aria-label\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\"x\">\n<img data-testname=\"el-img-empty-alt-aria-label-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\"\">\n<img data-testname=\"el-img-empty-alt-aria-label-whitespace\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\" \">\n<img data-testname=\"el-img-empty-alt-aria-labelledby\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"labelledby\">\n<img data-testname=\"el-img-empty-alt-title\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\"x\">\n<img data-testname=\"el-img-empty-alt-title-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\"\">\n\n<!-- el-section -->\n<section data-testname=\"el-section\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</section>\n<section data-testname=\"el-section-no-name\" class=\"ex-generic\">x</section>\n<section data-testname=\"el-section-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</section>\n<section data-testname=\"el-section-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</section>\n<section data-testname=\"el-section-aria-labelledby\" data-expectedrole=\"region\" class=\"ex\" aria-labelledby=\"labelledby\">x</section>\n<section data-testname=\"el-section-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</section>\n<section data-testname=\"el-section-title\" data-expectedrole=\"region\" title=\"x\" class=\"ex\">x</section>\n<section data-testname=\"el-section-title-empty\" class=\"ex-generic\" title=\"\">x</section>\n\n<!-- element to reference for aria-labelledby tests -->\n<div id=\"labelledby\">labelledby</div>\n<div id=\"empty\"></div>\n<div id=\"space\"> </div>", 1362 1369 "selector": ".ex" 1363 1370 }, 1364 1371 { 1365 1372 "filename": "roles-contextual.html", 1366 1373 "title": "HTML-AAM Contextual-Specific Role Verification Tests",1367 -1 "html": "<style type=\"text/css\"></style><p>Tests contextual computed role mappings defined in <a href=\"https://w3c.github.io/html-aam/\">HTML-AAM</a>, where the returned computed role is expected to change based on the context. Most test names correspond to a unique ID defined in the spec.<p>\n\n<p>These should remain in alphabetical order.</code></p>\n\n\n<!-- el-a -->\n<a href=\"#\" data-testname=\"el-a\" data-expectedrole=\"link\" class=\"ex\">x</a>\n<a data-testname=\"el-a-no-href\" class=\"ex-generic\">x</a>\n\n<!-- el-aside -->\n<aside data-testname=\"el-aside\" data-expectedrole=\"complementary\" class=\"ex\">x</aside>\n<main>\n <aside data-testname=\"el-aside-in-main\" data-expectedrole=\"complementary\" class=\"ex\">x</aside>\n <article>\n <aside data-testname=\"el-aside-in-article-in-main\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-article-in-main-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n </article>\n</main>\n<article>\n <aside data-testname=\"el-aside-in-article\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-article-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n</article>\n<aside>\n <aside data-testname=\"el-aside-in-aside\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-aside-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n</aside>\n<nav>\n <aside data-testname=\"el-aside-in-nav\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-nav-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-nav-with-role\" data-expectedrole=\"complementary\" class=\"ex\" role=\"complementary\">x</aside>\n</nav>\n<!-- Spec says that the conditional aside mapping happens when nested in a sectioning content element.\n However, this doesn't make sense if the parent <section> isn't a landmark in the first place.\n Let's force the section to always be a landmark for now, but we should probably expand on this test\n case pending discussions in https://github.com/w3c/html-aam/pull/484 -->\n<section aria-label=\"x\">\n <aside data-testname=\"el-aside-in-section\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-section-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby\" data-expectedrole=\"complementary\" class=\"ex\" aria-labelledby=\"labelledby\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby-empty\" class=\"ex-generic\" aria-labelledby=\"empty\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby-whitespace\" class=\"ex-generic\" aria-labelledby=\"space\">x</aside>\n <aside data-testname=\"el-aside-in-section-title\" data-expectedrole=\"complementary\" title=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-section-title-empty\" class=\"ex-generic\" title=\"\">x</aside>\n <aside data-testname=\"el-aside-in-section-title-whitespace\" class=\"ex-generic\" title=\" \">x</aside>\n</section>\n\n<!-- el-footer -->\n<!-- nav>footer -> ./roles-contextual.tentative.html -->\n<footer data-testname=\"el-footer-ancestorbody\" data-expectedrole=\"contentinfo\" class=\"ex\">x</footer>\n<!-- main>footer -> ./roles-contextual.tentative.html -->\n\n<!-- el-header -->\n<!-- nav>header -> ./roles-contextual.tentative.html -->\n<header data-testname=\"el-header-ancestorbody\" data-expectedrole=\"banner\" class=\"ex\">x</header>\n<!-- main>header -> ./roles-contextual.tentative.html -->\n\n<!-- el-img-empty-alt -->\n<img data-testname=\"el-img-no-name\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n<!-- img empty alt -> ./roles.html -->\n<img data-testname=\"el-img-empty-alt-aria-label\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\"x\">\n<img data-testname=\"el-img-empty-alt-aria-label-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\"\">\n<img data-testname=\"el-img-empty-alt-aria-label-whitespace\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\" \">\n<img data-testname=\"el-img-empty-alt-aria-labelledby\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"labelledby\">\n<img data-testname=\"el-img-empty-alt-aria-labelledby-non-existing\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"non-existing\">\n<img data-testname=\"el-img-empty-alt-aria-labelledby-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"empty\">\n<img data-testname=\"el-img-empty-alt-aria-labelledby-whitespace\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"space\">\n<img data-testname=\"el-img-empty-alt-title\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\"x\">\n<img data-testname=\"el-img-empty-alt-title-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\"\">\n<img data-testname=\"el-img-empty-alt-title-whitespace\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\" \">\n\n\n<!-- el-section -->\n<section data-testname=\"el-section\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</section>\n<section data-testname=\"el-section-no-name\" class=\"ex-generic\">x</section>\n<section data-testname=\"el-section-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</section>\n<section data-testname=\"el-section-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</section>\n<section data-testname=\"el-section-aria-labelledby\" data-expectedrole=\"region\" class=\"ex\" aria-labelledby=\"labelledby\">x</section>\n<section data-testname=\"el-section-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</section>\n<section data-testname=\"el-section-aria-labelledby-empty\" class=\"ex-generic\" aria-labelledby=\"empty\">x</section>\n<section data-testname=\"el-section-aria-labelledby-whitespace\" class=\"ex-generic\" aria-labelledby=\"space\">x</section>\n<section data-testname=\"el-section-title\" data-expectedrole=\"region\" title=\"x\" class=\"ex\">x</section>\n<section data-testname=\"el-section-title-empty\" class=\"ex-generic\" title=\"\">x</section>\n<section data-testname=\"el-section-title-whitespace\" class=\"ex-generic\" title=\" \">x</section>\n\n<!-- element to reference for aria-labelledby tests -->\n<div id=\"labelledby\">labelledby</div>\n<div id=\"empty\"></div>\n<div id=\"space\"> </div>",-1 1374 "html": "<style type=\"text/css\"></style><p>Tests contextual computed role mappings defined in <a href=\"https://w3c.github.io/html-aam/\">HTML-AAM</a>, where the returned computed role is expected to change based on the context. Most test names correspond to a unique ID defined in the spec.<p>\n\n<p>These should remain in alphabetical order.</code></p>\n\n\n<!-- el-a -->\n<a href=\"#\" data-testname=\"el-a\" data-expectedrole=\"link\" class=\"ex\">x</a>\n<a data-testname=\"el-a-no-href\" class=\"ex-generic\">x</a>\n\n<!-- el-aside -->\n<aside data-testname=\"el-aside\" data-expectedrole=\"complementary\" class=\"ex\">x</aside>\n<main>\n <aside data-testname=\"el-aside-in-main\" data-expectedrole=\"complementary\" class=\"ex\">x</aside>\n <article>\n <aside data-testname=\"el-aside-in-article-in-main\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-article-in-main-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n </article>\n</main>\n<article>\n <aside data-testname=\"el-aside-in-article\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-article-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n</article>\n<aside>\n <aside data-testname=\"el-aside-in-aside\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-aside-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n</aside>\n<nav>\n <aside data-testname=\"el-aside-in-nav\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-nav-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-nav-with-role\" data-expectedrole=\"complementary\" class=\"ex\" role=\"complementary\">x</aside>\n</nav>\n<!-- Spec says that the conditional aside mapping happens when nested in a sectioning content element.\n However, this doesn't make sense if the parent <section> isn't a landmark in the first place.\n Let's force the section to always be a landmark for now, but we should probably expand on this test\n case pending discussions in https://github.com/w3c/html-aam/pull/484 -->\n<section aria-label=\"x\">\n <aside data-testname=\"el-aside-in-section\" class=\"ex-generic\">x</aside>\n <aside data-testname=\"el-aside-in-section-with-name\" data-expectedrole=\"complementary\" aria-label=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby\" data-expectedrole=\"complementary\" class=\"ex\" aria-labelledby=\"labelledby\">x</aside>\n <aside data-testname=\"el-aside-in-section-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</aside>\n <aside data-testname=\"el-aside-in-section-title\" data-expectedrole=\"complementary\" title=\"x\" class=\"ex\">x</aside>\n <aside data-testname=\"el-aside-in-section-title-empty\" class=\"ex-generic\" title=\"\">x</aside>\n</section>\n\n<!-- el-footer -->\n<!-- nav>footer -> ./roles-contextual.tentative.html -->\n<footer data-testname=\"el-footer-ancestorbody\" data-expectedrole=\"contentinfo\" class=\"ex\">x</footer>\n<!-- main>footer -> ./roles-contextual.tentative.html -->\n\n<!-- el-header -->\n<!-- nav>header -> ./roles-contextual.tentative.html -->\n<header data-testname=\"el-header-ancestorbody\" data-expectedrole=\"banner\" class=\"ex\">x</header>\n<!-- main>header -> ./roles-contextual.tentative.html -->\n\n<!-- el-img-empty-alt -->\n<img data-testname=\"el-img-no-name\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n<!-- img empty alt -> ./roles.html -->\n<img data-testname=\"el-img-empty-alt-aria-label\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\"x\">\n<img data-testname=\"el-img-empty-alt-aria-label-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\"\">\n<img data-testname=\"el-img-empty-alt-aria-label-whitespace\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-label=\" \">\n<img data-testname=\"el-img-empty-alt-aria-labelledby\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt aria-labelledby=\"labelledby\">\n<img data-testname=\"el-img-empty-alt-title\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\"x\">\n<img data-testname=\"el-img-empty-alt-title-empty\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\" alt title=\"\">\n\n<!-- el-section -->\n<section data-testname=\"el-section\" aria-label=\"x\" data-expectedrole=\"region\" class=\"ex\">x</section>\n<section data-testname=\"el-section-no-name\" class=\"ex-generic\">x</section>\n<section data-testname=\"el-section-aria-label-empty\" class=\"ex-generic\" aria-label=\"\">x</section>\n<section data-testname=\"el-section-aria-label-whitespace\" class=\"ex-generic\" aria-label=\" \">x</section>\n<section data-testname=\"el-section-aria-labelledby\" data-expectedrole=\"region\" class=\"ex\" aria-labelledby=\"labelledby\">x</section>\n<section data-testname=\"el-section-aria-labelledby-non-existing\" class=\"ex-generic\" aria-labelledby=\"non-existing\">x</section>\n<section data-testname=\"el-section-title\" data-expectedrole=\"region\" title=\"x\" class=\"ex\">x</section>\n<section data-testname=\"el-section-title-empty\" class=\"ex-generic\" title=\"\">x</section>\n\n<!-- element to reference for aria-labelledby tests -->\n<div id=\"labelledby\">labelledby</div>\n<div id=\"empty\"></div>\n<div id=\"space\"> </div>", 1368 1375 "role": "generic", 1369 1376 "selector": ".ex-generic" 1370 1377 }, @@ -1376,6 +1383,19 @@ window.wpt["html-aam"] = [ 1376 1383 "selector": ".ex-generic" 1377 1384 }, 1378 1385 { -1 1386 "filename": "area-role.html", -1 1387 "title": "HTMLAreaElement Role Verification Tests", -1 1388 "html": "<style type=\"text/css\"></style><map name=\"areamap\">\n <area shape=\"rect\" coords=\"0,0,15,15\" href=\"#\" alt=\"x\" data-testname=\"el-area\" data-expectedrole=\"link\" class=\"ex\">\n <area shape=\"rect\" coords=\"15,15,31,31\" alt=\"x\" data-testname=\"el-area-no-href\" class=\"ex-generic\">\n</map>\n<img usemap=\"#areamap\" style=\"width: 32px; height: 32px;\" alt=\"x\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">", -1 1389 "selector": ".ex" -1 1390 }, -1 1391 { -1 1392 "filename": "area-role.html", -1 1393 "title": "HTMLAreaElement Role Verification Tests", -1 1394 "html": "<style type=\"text/css\"></style><map name=\"areamap\">\n <area shape=\"rect\" coords=\"0,0,15,15\" href=\"#\" alt=\"x\" data-testname=\"el-area\" data-expectedrole=\"link\" class=\"ex\">\n <area shape=\"rect\" coords=\"15,15,31,31\" alt=\"x\" data-testname=\"el-area-no-href\" class=\"ex-generic\">\n</map>\n<img usemap=\"#areamap\" style=\"width: 32px; height: 32px;\" alt=\"x\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">", -1 1395 "role": "generic", -1 1396 "selector": ".ex-generic" -1 1397 }, -1 1398 { 1379 1399 "filename": "names.html", 1380 1400 "title": "HTML-AAM Element Accessible Name From Author Tests", 1381 1401 "html": "<style type=\"text/css\"></style><p>Tests the accName for elements defined in <a href=\"https://w3c.github.io/html-aam/#accessible-name-and-description-computation\">HTML-AAM: Accessible Name Computations By HTML Element</a>.\n These tests are meant to show whether an element returns a name per the naming mechanism used. See <a href=\"https://wpt.fyi/results/accname\">wpt: accname</a> for expanded accName testing.</p>\n\n\n<!--\nThe following elements are those which can be named by authors. They do not receive their name from elements for which they are an accessibility ancestor.\n\nThere are other elements which can be named by author, but have additional ways in which they can be named. These elements will be tested separately.\n-->\n\n\n<h2>address element</h2>\n<address data-testname=\"address no name\" data-expectedlabel=\"\" class=\"ex\">x</address>\n\n<address data-testname=\"address aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</address>\n<address data-testname=\"address aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</address>\n<address data-testname=\"address title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</address>\n\n<address data-testname=\"address aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</address>\n<address data-testname=\"address aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</address>\n\n<address data-testname=\"address aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</address>\n<address data-testname=\"address aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</address>\n\n\n\n<h2>aside element</h2>\n<aside data-testname=\"aside no name\" data-expectedlabel=\"\" class=\"ex\">x</aside>\n\n<aside data-testname=\"aside aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</aside>\n<aside data-testname=\"aside aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</aside>\n<aside data-testname=\"aside title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</aside>\n\n<aside data-testname=\"aside aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</aside>\n<aside data-testname=\"aside aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</aside>\n\n<aside data-testname=\"aside aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</aside>\n<aside data-testname=\"aside aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</aside>\n\n\n<h2>blockquote element</h2>\n<blockquote data-testname=\"blockquote no name\" data-expectedlabel=\"\" class=\"ex\">x</blockquote>\n\n<blockquote data-testname=\"blockquote aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</blockquote>\n<blockquote data-testname=\"blockquote aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</blockquote>\n<blockquote data-testname=\"blockquote title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</blockquote>\n\n<blockquote data-testname=\"blockquote aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</blockquote>\n<blockquote data-testname=\"blockquote aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</blockquote>\n\n<blockquote data-testname=\"blockquote aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</blockquote>\n<blockquote data-testname=\"blockquote aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</blockquote>\n\n\n\n<h2>details element</h2>\n<details data-testname=\"details no name\" data-expectedlabel=\"\" class=\"ex\"><summary>x</summary></details>\n\n<details data-testname=\"details aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\"><summary>x</summary></details>\n<details data-testname=\"details aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\"><summary>x</summary></details>\n<details data-testname=\"details title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\"><summary>x</summary></details>\n\n<details data-testname=\"details aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><summary>x</summary></details>\n<details data-testname=\"details aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\"><summary>x</summary></details>\n\n<details data-testname=\"details aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><summary>x</summary></details>\n<details data-testname=\"details aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\"><summary>x</summary></details>\n\n\n<h2>figure element</h2>\n<figure data-testname=\"figure no name\" data-expectedlabel=\"\" class=\"ex\">x</figure>\n\n<figure data-testname=\"figure aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</figure>\n<figure data-testname=\"figure aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</figure>\n<figure data-testname=\"figure title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</figure>\n\n<figure data-testname=\"figure aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</figure>\n<figure data-testname=\"figure aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</figure>\n\n<figure data-testname=\"figure aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</figure>\n<figure data-testname=\"figure aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</figure>\n\n\n<h2>footer element</h2>\n<footer data-testname=\"footer no name\" data-expectedlabel=\"\" class=\"ex\">x</footer>\n\n<footer data-testname=\"footer aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</footer>\n<footer data-testname=\"footer aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</footer>\n<footer data-testname=\"footer title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</footer>\n\n<footer data-testname=\"footer aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</footer>\n<footer data-testname=\"footer aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</footer>\n\n<footer data-testname=\"footer aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</footer>\n<footer data-testname=\"footer aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</footer>\n\n\n<h2>form element</h2>\n<form data-testname=\"form no name\" data-expectedlabel=\"\" class=\"ex\">x</form>\n\n<form data-testname=\"form aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</form>\n<form data-testname=\"form aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</form>\n<form data-testname=\"form title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</form>\n\n<form data-testname=\"form aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</form>\n<form data-testname=\"form aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</form>\n\n<form data-testname=\"form aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</form>\n<form data-testname=\"form aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</form>\n\n\n<h2>hgroup element</h2>\n<hgroup data-testname=\"hgroup no name\" data-expectedlabel=\"\" class=\"ex\"><h3>x</h3><p>y</p></hgroup>\n\n<hgroup data-testname=\"hgroup aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\"><h3>x</h3><p>y</p></hgroup>\n<hgroup data-testname=\"hgroup aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\"><h3>x</h3><p>y</p></hgroup>\n<hgroup data-testname=\"hgroup title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\"><h3>x</h3><p>y</p></hgroup>\n\n<hgroup data-testname=\"hgroup aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><h3>x</h3><p>y</p></hgroup>\n<hgroup data-testname=\"hgroup aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\"><h3>x</h3><p>y</p></hgroup>\n\n<hgroup data-testname=\"hgroup aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><h3>x</h3><p>y</p></hgroup>\n<hgroup data-testname=\"hgroup aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\"><h3>x</h3><p>y</p></hgroup>\n\n\n<h2>hr element</h2>\n<hr data-testname=\"hr no name\" data-expectedlabel=\"\" class=\"ex\">\n\n<hr data-testname=\"hr aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">\n<hr data-testname=\"hr aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">\n<hr data-testname=\"hr title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">\n\n<hr data-testname=\"hr aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">\n<hr data-testname=\"hr aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">\n\n<hr data-testname=\"hr aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">\n<hr data-testname=\"hr aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">\n\n\n<h2>ol element</h2>\n<ol data-testname=\"ol no name\" data-expectedlabel=\"\" class=\"ex\"><li>x</li></ol>\n\n<ol data-testname=\"ol aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\"><li>x</li></ol>\n<ol data-testname=\"ol aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></ol>\n<ol data-testname=\"ol title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\"><li>x</li></ol>\n\n<ol data-testname=\"ol aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></ol>\n<ol data-testname=\"ol aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></ol>\n\n<ol data-testname=\"ol aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></ol>\n<ol data-testname=\"ol aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\"><li>x</li></ol>\n\n\n<h2>main element</h2>\n<main data-testname=\"main no name\" data-expectedlabel=\"\" class=\"ex\">x</main>\n\n<main data-testname=\"main aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</main>\n<main data-testname=\"main aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</main>\n<main data-testname=\"main title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</main>\n\n<main data-testname=\"main aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</main>\n<main data-testname=\"main aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</main>\n\n<main data-testname=\"main aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</main>\n<main data-testname=\"main aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</main>\n\n\n<h2>menu element</h2>\n<menu data-testname=\"menu no name\" data-expectedlabel=\"\" class=\"ex\"><li>x</li></menu>\n\n<menu data-testname=\"menu aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\"><li>x</li></menu>\n<menu data-testname=\"menu aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></menu>\n<menu data-testname=\"menu title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\"><li>x</li></menu>\n\n<menu data-testname=\"menu aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></menu>\n<menu data-testname=\"menu aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></menu>\n\n<menu data-testname=\"menu aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></menu>\n<menu data-testname=\"menu aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\"><li>x</li></menu>\n\n\n<h2>nav element</h2>\n<nav data-testname=\"nav no name\" data-expectedlabel=\"\" class=\"ex\">x</nav>\n\n<nav data-testname=\"nav aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</nav>\n<nav data-testname=\"nav aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</nav>\n<nav data-testname=\"nav title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</nav>\n\n<nav data-testname=\"nav aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</nav>\n<nav data-testname=\"nav aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</nav>\n\n<nav data-testname=\"nav aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</nav>\n<nav data-testname=\"nav aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</nav>\n\n\n<h2>search element</h2>\n<search data-testname=\"search no name\" data-expectedlabel=\"\" class=\"ex\">x</search>\n\n<search data-testname=\"search aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</search>\n<search data-testname=\"search aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</search>\n<search data-testname=\"search title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</search>\n\n<search data-testname=\"search aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</search>\n<search data-testname=\"search aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</search>\n\n<search data-testname=\"search aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</search>\n<search data-testname=\"search aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</search>\n\n\n<h2>section element</h2>\n<section data-testname=\"section no name\" data-expectedlabel=\"\" class=\"ex\">x</section>\n\n<section data-testname=\"section aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\">x</section>\n<section data-testname=\"section aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\">x</section>\n<section data-testname=\"section title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\">x</section>\n\n<section data-testname=\"section aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</section>\n<section data-testname=\"section aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\">x</section>\n\n<section data-testname=\"section aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\">x</section>\n<section data-testname=\"section aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\">x</section>\n\n\n<h2>ul element</h2>\n<ul data-testname=\"ul no name\" data-expectedlabel=\"\" class=\"ex\"><li>x</li></ul>\n\n<ul data-testname=\"ul aria-label\" aria-label=\"label\" data-expectedlabel=\"label\" class=\"ex\"><li>x</li></ul>\n<ul data-testname=\"ul aria-labelledby\" aria-labelledby=\"labelledby\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></ul>\n<ul data-testname=\"ul title\" title=\"title\" data-expectedlabel=\"title\" class=\"ex\"><li>x</li></ul>\n\n<ul data-testname=\"ul aria-labelledby vs aria-label vs title\" aria-labelledby=\"labelledby\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></ul>\n<ul data-testname=\"ul aria-labelledby vs aria-label\" aria-labelledby=\"labelledby\" aria-label=\"label\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></ul>\n\n<ul data-testname=\"ul aria-labelledby vs title\" aria-labelledby=\"labelledby\" title=\"title\" data-expectedlabel=\"labelledby\" class=\"ex\"><li>x</li></ul>\n<ul data-testname=\"ul aria-label vs title\" aria-label=\"label\" title=\"title\" data-expectedlabel=\"label\" class=\"ex\"><li>x</li></ul>\n\n\n<!-- element to reference for aria-labelledby tests -->\n<div id=\"labelledby\">labelledby</div>", @@ -1399,32 +1419,25 @@ window.wpt["html-aam"] = [ 1399 1419 "html": "<style type=\"text/css\"></style><p>Tests the computedrole mappings defined in <a href=\"https://w3c.github.io/html-aam/\">HTML-AAM</a>. Most test names correspond to a unique ID defined in the spec.<p>\n\n<p>These should remain in alphabetical order, and include all HTML tagnames. If a tag is not tested here, include a pointer to the file where it is tested, such as: <code><!-- caption -> ./table-roles.html --></code></p>\n\n\n<!-- a (w/ and w/o href) -> ./roles-contextual.html -->\n<!-- todo: abbr -->\n<address data-testname=\"el-address\" data-expectedrole=\"group\" class=\"ex\">x</address>\n<!-- area -> ./fragile/area-role.html -->\n<article data-testname=\"el-article\" data-expectedrole=\"article\" class=\"ex\">x</article>\n<!-- aside -> ./roles-contextual.html -->\n<!-- todo: audio -->\n<!-- todo: autonomous custom element -->\n<!-- b -> ./roles-generic.html -->\n<!-- base (not mapped) -->\n<!-- bdi -> ./roles-generic.html -->\n<!-- bdo -> ./roles-generic.html -->\n<blockquote data-testname=\"el-blockquote\" data-expectedrole=\"blockquote\" class=\"ex\">x</blockquote>\n<!-- todo: body -->\n<!-- br (not mapped) -->\n<button data-testname=\"el-button\" data-expectedrole=\"button\" class=\"ex\">x</button>\n<!-- todo: canvas -->\n<!-- caption -> ./table-roles.html -->\n<!-- todo: cite -->\n<code data-testname=\"el-code\" data-expectedrole=\"code\" class=\"ex\">x</code>\n<!-- todo: col -->\n<!-- todo: colgroup -->\n<!-- data -> ./roles-generic.html -->\n<!-- todo: datalist -->\n\n<!-- el-dd -->\n<dl>\n <dt>x</dt>\n <!-- dt/dd pending listitemkey and listitemvalue roles: https://github.com/w3c/aria/issues/1662 -->\n <dd data-testname=\"el-dd\" data-expectedrole=\"definition\" class=\"ex\">x</dd>\n</dl>\n\n<del data-testname=\"el-del\" data-expectedrole=\"deletion\" class=\"ex\">x</del>\n<details data-testname=\"el-details\" data-expectedrole=\"group\" class=\"ex\"><summary>x</summary>x</details>\n<dfn data-testname=\"el-dfn\" data-expectedrole=\"term\" class=\"ex\">x</dfn>\n<!-- dir -> ./dir-role.tentative.html -->\n<!-- div -> ./roles-generic.html -->\n<!-- todo: dl -->\n\n<!-- el-dt -->\n<dl>\n <!-- dt/dd pending listitemkey and listitemvalue roles: https://github.com/w3c/aria/issues/1662 -->\n <dt data-testname=\"el-dt\" data-expectedrole=\"term\" class=\"ex\">x</dt>\n <dd>x</dd>\n</dl>\n\n<em data-testname=\"el-em\" data-expectedrole=\"emphasis\" class=\"ex\">x</em>\n<!-- todo: embed -->\n<fieldset data-testname=\"el-fieldset\" data-expectedrole=\"group\" class=\"ex\"><legend>x</legend><input></fieldset>\n<!-- todo: figcaption -->\n<figure data-testname=\"el-figure\" data-expectedrole=\"figure\" class=\"ex\"><img alt=\"x\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"><figcaption>x</figcaption></figure>\n<!-- footer -> ./roles-contextual.html -->\n<form aria-label=\"form\" data-testname=\"el-form\" data-expectedrole=\"form\" class=\"ex\"><input></form>\n<!-- todo: form-associated custom element -->\n\n<!-- el-h1-h6 -->\n<h1 data-testname=\"el-h1\" data-expectedrole=\"heading\" class=\"ex\">x</h1>\n<h2 data-testname=\"el-h2\" data-expectedrole=\"heading\" class=\"ex\">x</h2>\n<h3 data-testname=\"el-h3\" data-expectedrole=\"heading\" class=\"ex\">x</h3>\n<h4 data-testname=\"el-h4\" data-expectedrole=\"heading\" class=\"ex\">x</h4>\n<h5 data-testname=\"el-h5\" data-expectedrole=\"heading\" class=\"ex\">x</h5>\n<h6 data-testname=\"el-h6\" data-expectedrole=\"heading\" class=\"ex\">x</h6>\n\n<!-- head (not mapped) -->\n\n<!-- header -> ./roles-contextual.html -->\n<hgroup data-testname=\"el-hgroup\" data-expectedrole=\"group\" class=\"ex\"><h1>x</h1></hgroup>\n<hr data-testname=\"el-hr\" data-expectedrole=\"separator\" class=\"ex\">\n<!-- todo: html -->\n<!-- i -> ./roles-generic.html -->\n<!-- todo: iframe -->\n<img alt=\"x\" data-testname=\"el-img\" data-expectedrole=\"image\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n\n<!-- Implementations might also be valid if ignored rather than returning 'none' for the following images. -->\n<img alt data-testname=\"el-img-alt-no-value\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n<img alt=\"\" data-testname=\"el-img-empty-alt\" class=\"ex-generic\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">\n\n<!-- img with empty alt but other naming mechanism -> ./roles-contextual.html -->\n\n<input type=\"button\" value=\"x\" data-testname=\"el-input-button\" data-expectedrole=\"button\" class=\"ex\">\n<input type=\"checkbox\" data-testname=\"el-input-checkbox\" data-expectedrole=\"checkbox\" class=\"ex\">\n<!-- todo: input type=\"color\" -->\n<!-- todo: input type=\"date\" -->\n<!-- todo: input type=\"datetime\" -->\n<!-- todo: input type=\"datetime-local\" -->\n<input type=\"email\" data-testname=\"el-input-email\" data-expectedrole=\"textbox\" class=\"ex\">\n<!-- todo: input type=\"file\" -->\n<!-- input type=\"hidden\" (not mapped) -->\n<!-- todo: input type=\"month\" -->\n\n<!-- Blocked: HTML-AAM Issue #467 -->\n<!-- <input type=\"number\" data-testname=\"el-input-number\" data-expectedrole=\"spinbutton\" class=\"ex\"> -->\n\n<!-- todo: input type=\"password\" -->\n<input type=\"radio\" data-testname=\"el-input-radio\" data-expectedrole=\"radio\" class=\"ex\">\n<input type=\"range\" data-testname=\"el-input-range\" data-expectedrole=\"slider\" class=\"ex\">\n<input type=\"reset\" value=\"x\" data-testname=\"el-input-reset\" data-expectedrole=\"button\" class=\"ex\">\n<input type=\"search\" data-testname=\"el-input-search\" data-expectedrole=\"searchbox\" class=\"ex\">\n<!-- An ARIA role should override type=\"search\". -->\n<input type=\"search\" role=\"combobox\" data-testname=\"el-input-search-with-role\" data-expectedrole=\"combobox\" class=\"ex\">\n<input type=\"submit\" value=\"x\" data-testname=\"el-input-submit\" data-expectedrole=\"button\" class=\"ex\">\n<input type=\"tel\" data-testname=\"el-input-tel\" data-expectedrole=\"textbox\" class=\"ex\">\n<input type=\"text\" data-testname=\"el-input-text\" data-expectedrole=\"textbox\" class=\"ex\">\n<!-- todo: input (type attribute in the Text, Search, Telephone, URL, or E-mail states with a suggestions source element) -->\n<!-- todo: input type=\"time\" -->\n<input type=\"url\" data-testname=\"el-input-url\" data-expectedrole=\"textbox\" class=\"ex\">\n<!-- todo: input type=\"week\" -->\n<ins data-testname=\"el-ins\" data-expectedrole=\"insertion\" class=\"ex\">x</ins>\n<!-- todo: kbd -->\n<!-- todo: label -->\n<!-- todo: legend -->\n\n<!-- el-li -->\n<!-- li (orphaned) -> ./roles-generic.html -->\n<ul><li data-testname=\"el-li-in-ul\" data-expectedrole=\"listitem\" class=\"ex\">x</li><li>x</li></ul>\n<ol><li data-testname=\"el-li-in-ol\" data-expectedrole=\"listitem\" class=\"ex\">x</li><li>x</li></ol>\n\n<!-- link (not mapped) -->\n<main data-testname=\"el-main\" data-expectedrole=\"main\" class=\"ex\">x</main>\n<!-- map (not mapped) -->\n<mark data-testname=\"el-mark\" data-expectedrole=\"mark\" class=\"ex\">x</mark>\n<!-- todo: math -->\n<menu data-testname=\"el-menu\" data-expectedrole=\"list\" class=\"ex\"><li>x</li></menu>\n<!-- meta (not mapped) -->\n<meter data-testname=\"el-meter\" data-expectedrole=\"meter\" class=\"ex\" min=\"0\" max=\"100\" low=\"20\" high=\"80\" optimum=\"60\" value=\"50\">x</meter>\n<nav data-testname=\"el-nav\" data-expectedrole=\"navigation\" class=\"ex\">x</nav>\n<!-- noscript (not mapped) -->\n<!-- object (not mapped) -->\n<ol data-testname=\"el-ol\" data-expectedrole=\"list\" class=\"ex\"><li>x</li><li>x</li></ol>\n\n<!-- optgroup -> ./fragile/optgroup-role.html -->\n\n<!-- option -->\n<select>\n <option data-testname=\"el-option\" data-expectedrole=\"option\" class=\"ex\">x</option>\n <option>x</option>\n</select>\n\n<output data-testname=\"el-output\" data-expectedrole=\"status\" class=\"ex\">x</output>\n<p data-testname=\"el-p\" data-expectedrole=\"paragraph\" class=\"ex\">x</p>\n<!-- param (not mapped) -->\n<!-- todo: picture -->\n<!-- pre -> ./roles-generic.html -->\n<progress data-testname=\"el-progress\" data-expectedrole=\"progressbar\" class=\"ex\">x</progress>\n<!-- q -> ./roles-generic.html -->\n<!-- todo: rp -> /ruby-aam? -->\n<!-- todo: rt -> /ruby-aam? -->\n<!-- todo: ruby -> /ruby-aam? -->\n<s data-testname=\"el-s\" data-expectedrole=\"deletion\" class=\"ex\">x</s>\n<!-- samp -> ./roles-generic.html -->\n<!-- script (not mapped) -->\n<search data-testname=\"el-search\" data-expectedrole=\"search\" class=\"ex\">x</search>\n<!-- section -> ./roles-contextual.html -->\n\n<!-- Blocked: HTML-AAM Issue #467 -->\n<!-- <select data-testname=\"el-select-combobox\" data-expectedrole=\"combobox\" class=\"ex\"><option>a1</option><option>a2</option></select>-->\n\n<select data-testname=\"el-select-listbox\" size=\"2\" data-expectedrole=\"listbox\" class=\"ex\"><option>b1</option><option>b2</option></select>\n\n<!-- slot (not mapped) -->\n<!-- small -> ./roles-generic.html -->\n<!-- source (not mapped) -->\n<!-- span -> ./roles-generic.html -->\n<strong data-testname=\"el-strong\" data-expectedrole=\"strong\" class=\"ex\">x</strong>\n<!-- style (not mapped) -->\n<sub data-testname=\"el-sub\" data-expectedrole=\"subscript\" class=\"ex\">x</sub>\n<!-- todo: summary -->\n<sup data-testname=\"el-sup\" data-expectedrole=\"superscript\" class=\"ex\">x</sup>\n<!-- todo: svg (see /graphics-aam and /svg-aam tests) -->\n<!-- table -> ./table-roles.html -->\n<!-- tbody -> ./table-roles.html -->\n<!-- td -> ./table-roles.html -->\n<!-- template (not mapped) -->\n<!-- tfoot -> ./table-roles.html -->\n<!-- th -> ./table-roles.html -->\n<!-- thead -> ./table-roles.html -->\n<time data-testname=\"el-time\" data-expectedrole=\"time\" class=\"ex\">x</time>\n<!-- title (not mapped) -->\n<!-- tr -> ./table-roles.html -->\n<textarea data-testname=\"el-textarea\" data-expectedrole=\"textbox\" class=\"ex\">x</textarea>\n<!-- track (not mapped) -->\n<!-- u -> ./roles-generic.html -->\n<ul data-testname=\"el-ul\" data-expectedrole=\"list\" class=\"ex\"><li>x</li><li>x</li></ul>\n<!-- var (not mapped) -->\n<!-- todo: video -->\n<!-- wbr (not mapped) -->", 1400 1420 "role": "generic", 1401 1421 "selector": ".ex-generic"1402 -1 },-1 1422 } -1 1423 ]; -1 1424 window.wpt["svg-aam"] = [ 1403 1425 {1404 -1 "filename": "area-role.html",1405 -1 "title": "HTMLAreaElement Role Verification Tests",1406 -1 "html": "<style type=\"text/css\"></style><map name=\"areamap\">\n <area shape=\"rect\" coords=\"0,0,15,15\" href=\"#\" alt=\"x\" data-testname=\"el-area\" data-expectedrole=\"link\" class=\"ex\">\n <area shape=\"rect\" coords=\"15,15,31,31\" alt=\"x\" data-testname=\"el-area-no-href\" class=\"ex-generic\">\n</map>\n<img usemap=\"#areamap\" style=\"width: 32px; height: 32px;\" alt=\"x\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">",-1 1426 "filename": "comp_labelledby.html", -1 1427 "title": "Name Comp: Labelledby", -1 1428 "html": "<style type=\"text/css\"></style><h1>SVG-AAM: Labelledby Tests</h1>\n\n<p>Tests SVG-specific aria-labelledby rules in <a href=\"https://w3c.github.io/svg-aam/#mapping_additional_nd\">SVG-AAM \u00a78.1 Name and Description</a>, but note the open issues in <a href=\"https://github.com/w3c/svg-aam/issues/31\">SVG-AAM #31</a>.\n\n<span id=\"huey\">Huey</span>\n<span id=\"dewey\">Dewey</span>\n<span id=\"louie\">Louie</span>\n<span id=\"scrooge\">Scrooge</span>\n\n<h2>SVG a[aria-labelledby]</h2>\n<svg viewbox=\"0 0 300 100\">\n <a href=\"#\" aria-labelledby=\"huey\" data-expectedlabel=\"Huey\" xlink:title=\"circle link label\" data-testname=\"[aria-labelledby] > circle\" class=\"ex\"><circle cx=\"26\" cy=\"26\" r=\"25\"></circle></a>\n <a href=\"#\" aria-labelledby=\"dewey\" data-expectedlabel=\"Dewey\" xlink:title=\"rect link label\" data-testname=\"[aria-labelledby] > rect\" class=\"ex\"><rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect></a>\n <a href=\"#\" aria-labelledby=\"louie\" data-expectedlabel=\"Louie\" xlink:title=\"polygon link label\" data-testname=\"[aria-labelledby] > polygon\" class=\"ex\"><polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"></polygon></a>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <a href=\"#\" aria-labelledby=\"scrooge\" data-expectedlabel=\"Scrooge\" xlink:title=\"group link label\" data-testname=\"[aria-labelledby] > g\" class=\"ex\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n </a>\n</svg>\n<br>\n\n<h2>SVG a[aria-label][aria-labelledby]</h2>\n<svg viewbox=\"0 0 300 100\">\n <a href=\"#\" aria-labelledby=\"huey\" aria-label=\"Athos\" data-expectedlabel=\"Huey\" xlink:title=\"circle link label\" data-testname=\"[aria-label][aria-labelledby] > circle\" class=\"ex\"><circle cx=\"26\" cy=\"26\" r=\"25\"></circle></a>\n <a href=\"#\" aria-labelledby=\"dewey\" aria-label=\"Porthos\" data-expectedlabel=\"Dewey\" xlink:title=\"rect link label\" data-testname=\"[aria-label][aria-labelledby] > rect\" class=\"ex\"><rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect></a>\n <a href=\"#\" aria-labelledby=\"louie\" aria-label=\"Aramis\" data-expectedlabel=\"Louie\" xlink:title=\"polygon link label\" data-testname=\"[aria-label][aria-labelledby] > polygon\" class=\"ex\"><polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"></polygon></a>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <a href=\"#\" aria-labelledby=\"scrooge\" aria-label=\"D\u2019Artagnan\" data-expectedlabel=\"Scrooge\" xlink:title=\"group link label\" data-testname=\"[aria-label][aria-labelledby] > g\" class=\"ex\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n </a>\n</svg>\n<br>\n\n<h2>SVG a[aria-labelledby=\"{[aria-label]} {[aria-label]} {[xlink:title]} {* > [title]}\"]</h2>\n<svg viewbox=\"0 0 300 100\">\n <a id=\"nolan\" href=\"#\" aria-label=\"Nolan\"><circle cx=\"26\" cy=\"26\" r=\"25\"></circle></a>\n <a id=\"gilliam\" href=\"#\" aria-label=\"Gilliam\"><ellipse cx=\"250\" cy=\"50\" rx=\"30\" ry=\"15\"></ellipse></a>\n <a id=\"kaufman\" href=\"#\" xlink:title=\"Kaufman\"><rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect></a>\n <polygon id=\"villeneuve\" points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"><title>Villeneuve</title></polygon>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <a href=\"#\" aria-labelledby=\"nolan gilliam kaufman villeneuve\" data-expectedlabel=\"Nolan Gilliam Kaufman Villeneuve\" xlink:title=\"group link label\" data-testname=\"[aria-labelledby="{[aria-label]} {[xlink:title]} {* > [title]}"] > g\" class=\"ex\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n </a>\n</svg>\n<br>", 1407 1429 "selector": ".ex" 1408 1430 }, 1409 1431 {1410 -1 "filename": "area-role.html",1411 -1 "title": "HTMLAreaElement Role Verification Tests",1412 -1 "html": "<style type=\"text/css\"></style><map name=\"areamap\">\n <area shape=\"rect\" coords=\"0,0,15,15\" href=\"#\" alt=\"x\" data-testname=\"el-area\" data-expectedrole=\"link\" class=\"ex\">\n <area shape=\"rect\" coords=\"15,15,31,31\" alt=\"x\" data-testname=\"el-area-no-href\" class=\"ex-generic\">\n</map>\n<img usemap=\"#areamap\" style=\"width: 32px; height: 32px;\" alt=\"x\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\">",1413 -1 "role": "generic",1414 -1 "selector": ".ex-generic"1415 -1 },1416 -1 {1417 -1 "filename": "optgroup-role.html",1418 -1 "title": "HTMLOptGroupElement Role Verification Tests",1419 -1 "html": "<style type=\"text/css\"></style><select>\n <optgroup label=\"x\" data-testname=\"el-optgroup\" data-expectedrole=\"group\" class=\"ex\">\n <option>x1</option>\n <option>x2</option>\n </optgroup>\n <optgroup data-testname=\"el-optgroup-no-label\" data-expectedrole=\"not defined in spec?\" class=\"ex-todo\">\n <option>y1</option>\n <option>y2</option>\n </optgroup>\n</select>",-1 1432 "filename": "comp_label.html", -1 1433 "title": "Name Comp: Label", -1 1434 "html": "<style type=\"text/css\"></style><h1>SVG-AAM: Label Tests</h1>\n\n<p>Tests SVG-specific aria-label rules in <a href=\"https://w3c.github.io/svg-aam/#mapping_additional_nd\">SVG-AAM \u00a78.1 Name and Description</a>, but note the open issues in <a href=\"https://github.com/w3c/svg-aam/issues/31\">SVG-AAM #31</a>.\n\n<h2>SVG a[aria-label]</h2>\n<svg viewbox=\"0 0 300 100\">\n <a href=\"#\" aria-label=\"Athos\" data-expectedlabel=\"Athos\" xlink:title=\"circle link label\" data-testname=\"[aria-labelledby] > circle\" class=\"ex\"><circle cx=\"26\" cy=\"26\" r=\"25\"></circle></a>\n <a href=\"#\" aria-label=\"Porthos\" data-expectedlabel=\"Porthos\" xlink:title=\"rect link label\" data-testname=\"[aria-labelledby] > rect\" class=\"ex\"><rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect></a>\n <a href=\"#\" aria-label=\"Aramis\" data-expectedlabel=\"Aramis\" xlink:title=\"polygon link label\" data-testname=\"[aria-labelledby] > polygon\" class=\"ex\"><polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"></polygon></a>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <a href=\"#\" aria-label=\"D\u2019Artagnan\" data-expectedlabel=\"D\u2019Artagnan\" xlink:title=\"group link label\" data-testname=\"[aria-labelledby] > g\" class=\"ex\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n </a>\n</svg>\n<br>", 1420 1435 "selector": ".ex"1421 -1 }1422 -1 ];1423 -1 window.wpt["svg-aam"] = [-1 1436 }, 1424 1437 { 1425 1438 "filename": "comp_host_language_label.html", 1426 1439 "title": "Name Comp: Host Language Label",1427 -1 "html": "<style type=\"text/css\"></style><h1>SVG-AAM: Label Tests</h1>\n\n<p>Tests SVG-specific host language label rules (title element and xlink:title attr) in <a href=\"https://w3c.github.io/svg-aam/#mapping_additional_nd\">SVG-AAM \u00a78.1 Name and Description</a>, but note the open issues in <a href=\"https://github.com/w3c/svg-aam/issues/31\">SVG-AAM #31</a>.\n\n\n<h2>SVG * > title</h2>\n<svg viewbox=\"0 0 300 100\">\n <circle cx=\"26\" cy=\"26\" r=\"25\" data-expectedlabel=\"circle label\" data-testname=\"circle > title\" class=\"ex\"><title>circle label</title></circle>\n <rect x=\"60\" y=\"1\" width=\"50\" height=\"50\" data-expectedlabel=\"rect label\" data-testname=\"rect > title\" class=\"ex\"><title>rect label</title></rect>\n <polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\" data-expectedlabel=\"polygon label\" data-testname=\"polygon > title\" class=\"ex\"><title>polygon label</title></polygon>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\" data-expectedlabel=\"group label\" data-testname=\"g > title\" class=\"ex\">\n <title>group label</title>\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n</svg>\n<br>\n\n\n<h2>SVG a[xlink:title][href]</h2>\n<svg viewbox=\"0 0 300 100\">\n <a href=\"#\" data-expectedlabel=\"circle link label\" xlink:title=\"circle link label\" data-testname=\"[xlink:title][href] > circle\" class=\"ex\"><circle cx=\"26\" cy=\"26\" r=\"25\"></circle></a>\n <a href=\"#\" data-expectedlabel=\"rect link label\" xlink:title=\"rect link label\" data-testname=\"[xlink:title][href] > rect\" class=\"ex\"><rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect></a>\n <a href=\"#\" data-expectedlabel=\"polygon link label\" xlink:title=\"polygon link label\" data-testname=\"[xlink:title][href] > polygon\" class=\"ex\"><polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"></polygon></a>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <a href=\"#\" data-expectedlabel=\"group link label\" xlink:title=\"group link label\" data-testname=\"[xlink:title][href] > g\" class=\"ex\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n </a>\n</svg>\n<br>\n\n<h2>SVG a[xlink:title][xlink:href]:not([href])</h2>\n<svg viewbox=\"0 0 300 100\">\n <a xlink:href=\"#\" data-expectedlabel=\"circle link label\" xlink:title=\"circle link label\" data-testname=\"[xlink:title][xlink:href] > circle\" class=\"ex\"><circle cx=\"26\" cy=\"26\" r=\"25\"></circle></a>\n <a xlink:href=\"#\" data-expectedlabel=\"rect link label\" xlink:title=\"rect link label\" data-testname=\"[xlink:title][xlink:href] > rect\" class=\"ex\"><rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect></a>\n <a xlink:href=\"#\" data-expectedlabel=\"polygon link label\" xlink:title=\"polygon link label\" data-testname=\"[xlink:title][xlink:href] > polygon\" class=\"ex\"><polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"></polygon></a>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <a xlink:href=\"#\" data-expectedlabel=\"group link label\" xlink:title=\"group link label\" data-testname=\"[xlink:title][xlink:href] > g\" class=\"ex\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n </a>\n</svg>\n<br>",-1 1440 "html": "<style type=\"text/css\"></style><h1>SVG-AAM: Label Tests</h1>\n\n<p>Tests SVG-specific host language label rules (title element and xlink:title attr) in <a href=\"https://w3c.github.io/svg-aam/#mapping_additional_nd\">SVG-AAM \u00a78.1 Name and Description</a>, but note the open issues in <a href=\"https://github.com/w3c/svg-aam/issues/31\">SVG-AAM #31</a>.\n\n\n<h2>SVG * > title</h2>\n<svg viewbox=\"0 0 300 100\">\n <circle cx=\"26\" cy=\"26\" r=\"25\" data-expectedlabel=\"circle label\" data-testname=\"circle > title\" class=\"ex\"><title>circle label</title></circle>\n <rect x=\"60\" y=\"1\" width=\"50\" height=\"50\" data-expectedlabel=\"rect label\" data-testname=\"rect > title\" class=\"ex\"><title>rect label</title></rect>\n <polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\" data-expectedlabel=\"polygon label\" data-testname=\"polygon > title\" class=\"ex\"><title>polygon label</title></polygon>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\" data-expectedlabel=\"group label\" data-testname=\"g > title\" class=\"ex\">\n <title>group label</title>\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n</svg>\n<br>\n\n<h2>Interactive Elements > SVG > title</h2>\n<a href=\"#\" data-expectedlabel=\"circle label\" data-testname=\"a > circle > title\" class=\"ex\">\n <svg viewbox=\"0 0 300 100\">\n <title>circle label</title>\n <circle cx=\"26\" cy=\"26\" r=\"25\"></circle>\n </svg>\n</a>\n<a href=\"#\" data-expectedlabel=\"rect label\" data-testname=\"a > rect > title\" class=\"ex\">\n <svg viewbox=\"0 0 300 100\">\n <title>rect label</title>\n <rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect>\n </svg>\n</a>\n<a href=\"#\" data-expectedlabel=\"polygon label\" data-testname=\"a > polygon > title\" class=\"ex\">\n <svg viewbox=\"0 0 300 100\">\n <title>polygon label</title>\n <polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"></polygon>\n </svg>\n</a>\n<button href=\"#\" data-expectedlabel=\"circle label\" data-testname=\"button > circle > title\" class=\"ex\">\n <svg viewbox=\"0 0 300 100\">\n <title>circle label</title>\n <circle cx=\"26\" cy=\"26\" r=\"25\"></circle>\n </svg>\n</button>\n<button href=\"#\" data-expectedlabel=\"rect label\" data-testname=\"button > rect > title\" class=\"ex\">\n <svg viewbox=\"0 0 300 100\">\n <title>rect label</title>\n <rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect>\n </svg>\n</button>\n<button href=\"#\" data-expectedlabel=\"polygon label\" data-testname=\"button > polygon > title\" class=\"ex\">\n <svg viewbox=\"0 0 300 100\">\n <title>polygon label</title>\n <polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"></polygon>\n </svg>\n</button>\n<br>\n\n\n<h2>SVG a[xlink:title][href]</h2>\n<svg viewbox=\"0 0 300 100\">\n <a href=\"#\" data-expectedlabel=\"circle link label\" xlink:title=\"circle link label\" data-testname=\"[xlink:title][href] > circle\" class=\"ex\"><circle cx=\"26\" cy=\"26\" r=\"25\"></circle></a>\n <a href=\"#\" data-expectedlabel=\"rect link label\" xlink:title=\"rect link label\" data-testname=\"[xlink:title][href] > rect\" class=\"ex\"><rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect></a>\n <a href=\"#\" data-expectedlabel=\"polygon link label\" xlink:title=\"polygon link label\" data-testname=\"[xlink:title][href] > polygon\" class=\"ex\"><polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"></polygon></a>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <a href=\"#\" data-expectedlabel=\"group link label\" xlink:title=\"group link label\" data-testname=\"[xlink:title][href] > g\" class=\"ex\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n </a>\n</svg>\n<br>\n\n<h2>SVG a[xlink:title][xlink:href]:not([href])</h2>\n<svg viewbox=\"0 0 300 100\">\n <a xlink:href=\"#\" data-expectedlabel=\"circle link label\" xlink:title=\"circle link label\" data-testname=\"[xlink:title][xlink:href] > circle\" class=\"ex\"><circle cx=\"26\" cy=\"26\" r=\"25\"></circle></a>\n <a xlink:href=\"#\" data-expectedlabel=\"rect link label\" xlink:title=\"rect link label\" data-testname=\"[xlink:title][xlink:href] > rect\" class=\"ex\"><rect x=\"60\" y=\"1\" width=\"50\" height=\"50\"></rect></a>\n <a xlink:href=\"#\" data-expectedlabel=\"polygon link label\" xlink:title=\"polygon link label\" data-testname=\"[xlink:title][xlink:href] > polygon\" class=\"ex\"><polygon points=\"100,100 150,25 150,75 200,0\" fill=\"none\" stroke=\"black\"></polygon></a>\n</svg><br>\n<svg viewbox=\"0 0 200 90\">\n <a xlink:href=\"#\" data-expectedlabel=\"group link label\" xlink:title=\"group link label\" data-testname=\"[xlink:title][xlink:href] > g\" class=\"ex\">\n <g fill=\"white\" stroke=\"green\" stroke-width=\"5\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n <circle cx=\"60\" cy=\"60\" r=\"25\" />\n </g>\n </a>\n</svg>\n<br>", 1428 1441 "selector": ".ex" 1429 1442 }, 1430 1443 { @@ -1437,7 +1450,7 @@ window.wpt["svg-aam"] = [ 1437 1450 { 1438 1451 "filename": "roles.html", 1439 1452 "title": "SVG-AAM Role Verification Tests",1440 -1 "html": "<style type=\"text/css\"></style><p>Tests the mappings defined in <a href=\"https://w3c.github.io/svg-aam/#mapping_role_table\">SVG-AAM: 6.2 Element Mapping</a>.<p>\n\n<h2>Simple Elements With aria-label to Ensure Tree Inclusion</h2>\n<svg>\n <!-- Some elements skipped: never-rendered elements can return unpredicable/undefined/unspecified values for computedrole. -->\n <a href=\"#\" data-testname=\"el-a[href]\" data-expectedrole=\"link\" aria-label=\"label\" class=\"ex\">x</a>\n <a xlink:href=\"#\" data-testname=\"el-a[xlink:href]\" data-expectedrole=\"link\" aria-label=\"label\" class=\"ex\">x</a>\n <!-- skipped: animate -->\n <!-- skipped: animateMotion -->\n <!-- skipped: animateTransform -->\n <!-- blocked: audio -> https://github.com/w3c/html-aam/issues/511 -->\n <!-- todo: canvas -> follow HTML -->\n <!-- blocked: circle -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: clipPath -->\n <!-- n/a: cursor -->\n <!-- n/a: defs -->\n <!-- n/a: desc -->\n <!-- n/a: discard -->\n <!-- blocked: ellipse -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: feBlend -->\n <!-- n/a: feColorMatrix -->\n <!-- n/a: feComponentTransfer -->\n <!-- n/a: feComposite -->\n <!-- n/a: feConvolveMatrix -->\n <!-- n/a: feDiffuseLighting -->\n <!-- n/a: feDisplacementMap -->\n <!-- n/a: feDistantLight -->\n <!-- n/a: feDropShadow -->\n <!-- n/a: feFlood -->\n <!-- n/a: feFuncA -->\n <!-- n/a: feFuncB -->\n <!-- n/a: feFuncG -->\n <!-- n/a: feFuncR -->\n <!-- n/a: feGaussianBlur -->\n <!-- n/a: feImage -->\n <!-- n/a: feMerge -->\n <!-- n/a: feMergeNode -->\n <!-- n/a: feMorphology -->\n <!-- n/a: feOffset -->\n <!-- n/a: fePointLight -->\n <!-- n/a: feSpecularLighting -->\n <!-- n/a: feSpotLight -->\n <!-- n/a: feTile -->\n <!-- n/a: feTurbulence -->\n <!-- n/a: filter -->\n <!-- todo: foreignObject (spec says `group` role if rendered and labeled) -->\n <g fill=\"white\" stroke=\"green\" stroke-width=\"2\" data-testname=\"el-g\" data-expectedrole=\"group\" aria-label=\"label\" class=\"ex\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n </g>\n <!-- n/a: hatch -->\n <!-- n/a: hatchPath -->\n <!-- todo: iframe -> follow HTML -->\n <image data-testname=\"el-image\" data-expectedrole=\"image\" aria-label=\"label\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"></image>\n <!-- blocked: line -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: linearGradient -->\n <!-- n/a: marker -->\n <!-- n/a: mask -->\n <!-- todo: mesh (spec says `image` role if rendered and labeled) -->\n <!-- n/a: meshPatch -->\n <!-- n/a: meshRow -->\n <!-- n/a: metadata -->\n <!-- n/a: mpath -->\n <!-- blocked: path -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: pattern -->\n <!-- blocked: polygon -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- blocked: polyline -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: radialGradient -->\n <!-- blocked: rect -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: script -->\n <!-- n/a: set -->\n <!-- n/a: solidColor -->\n <!-- todo: source -> follow HTML -->\n <!-- n/a: stop -->\n <!-- n/a: style -->\n <!-- blocked: svg -> https://github.com/w3c/svg-aam/issues/18 -->\n <!-- n/a: switch -->\n <!-- blocked: symbol -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- blocked: text -> https://github.com/w3c/svg-aam/issues/33 -->\n <!-- blocked: textPath -> https://w3c.github.io/svg-aam/#textpath-tspan-mappings-issue-->\n <!-- n/a: title -->\n <!-- todo: track -> follow HTML -->\n <!-- blocked: tspan -> https://w3c.github.io/svg-aam/#textpath-tspan-mappings-issue -->\n <!-- blocked: use -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- todo: video -> follow HTML -->\n <!-- n/a: view -->\n</svg>",-1 1453 "html": "<style type=\"text/css\"></style><p>Tests the mappings defined in <a href=\"https://w3c.github.io/svg-aam/#mapping_role_table\">SVG-AAM: 6.2 Element Mapping</a>.<p>\n\n<h2>Simple Elements With aria-label to Ensure Tree Inclusion</h2>\n<svg>\n <!-- Some elements skipped: never-rendered elements can return unpredicable/undefined/unspecified values for computedrole. -->\n <a href=\"#\" data-testname=\"el-a[href]\" data-expectedrole=\"link\" aria-label=\"label\" class=\"ex\">x</a>\n <a xlink:href=\"#\" data-testname=\"el-a[xlink:href]\" data-expectedrole=\"link\" aria-label=\"label\" class=\"ex\">x</a>\n <!-- skipped: animate -->\n <!-- skipped: animateMotion -->\n <!-- skipped: animateTransform -->\n <!-- blocked: audio -> https://github.com/w3c/html-aam/issues/511 -->\n <!-- todo: canvas -> follow HTML -->\n <!-- blocked: circle -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: clipPath -->\n <!-- n/a: cursor -->\n <!-- n/a: defs -->\n <!-- n/a: desc -->\n <!-- n/a: discard -->\n <!-- blocked: ellipse -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: feBlend -->\n <!-- n/a: feColorMatrix -->\n <!-- n/a: feComponentTransfer -->\n <!-- n/a: feComposite -->\n <!-- n/a: feConvolveMatrix -->\n <!-- n/a: feDiffuseLighting -->\n <!-- n/a: feDisplacementMap -->\n <!-- n/a: feDistantLight -->\n <!-- n/a: feDropShadow -->\n <!-- n/a: feFlood -->\n <!-- n/a: feFuncA -->\n <!-- n/a: feFuncB -->\n <!-- n/a: feFuncG -->\n <!-- n/a: feFuncR -->\n <!-- n/a: feGaussianBlur -->\n <!-- n/a: feImage -->\n <!-- n/a: feMerge -->\n <!-- n/a: feMergeNode -->\n <!-- n/a: feMorphology -->\n <!-- n/a: feOffset -->\n <!-- n/a: fePointLight -->\n <!-- n/a: feSpecularLighting -->\n <!-- n/a: feSpotLight -->\n <!-- n/a: feTile -->\n <!-- n/a: feTurbulence -->\n <!-- n/a: filter -->\n <!-- todo: foreignObject (spec says `group` role if rendered and labeled) -->\n <g fill=\"white\" stroke=\"green\" stroke-width=\"2\" data-testname=\"el-g\" data-expectedrole=\"group\" aria-label=\"label\" class=\"ex\">\n <circle cx=\"40\" cy=\"40\" r=\"25\" />\n </g>\n <!-- n/a: hatch -->\n <!-- n/a: hatchPath -->\n <!-- todo: iframe -> follow HTML -->\n <image data-testname=\"el-image\" data-expectedrole=\"image\" aria-label=\"label\" class=\"ex\" src=\"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\"></image>\n <!-- blocked: line -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: linearGradient -->\n <!-- n/a: marker -->\n <!-- n/a: mask -->\n <!-- n/a: metadata -->\n <!-- n/a: mpath -->\n <!-- blocked: path -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: pattern -->\n <!-- blocked: polygon -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- blocked: polyline -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: radialGradient -->\n <!-- blocked: rect -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- n/a: script -->\n <!-- n/a: set -->\n <!-- n/a: solidColor -->\n <!-- todo: source -> follow HTML -->\n <!-- n/a: stop -->\n <!-- n/a: style -->\n <!-- blocked: svg -> https://github.com/w3c/svg-aam/issues/18 -->\n <!-- n/a: switch -->\n <!-- blocked: symbol -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- blocked: text -> https://github.com/w3c/svg-aam/issues/33 -->\n <!-- blocked: textPath -> https://w3c.github.io/svg-aam/#textpath-tspan-mappings-issue-->\n <!-- n/a: title -->\n <!-- todo: track -> follow HTML -->\n <!-- blocked: tspan -> https://w3c.github.io/svg-aam/#textpath-tspan-mappings-issue -->\n <!-- blocked: use -> https://github.com/w3c/svg-aam/issues/24 -->\n <!-- todo: video -> follow HTML -->\n <!-- n/a: view -->\n</svg>", 1441 1454 "selector": ".ex" 1442 1455 } 1443 1456 ];