diff options
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html-aria')
637 files changed, 16001 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/_/780.htm b/testing/web-platform/tests/conformance-checkers/html-aria/_/780.htm new file mode 100644 index 0000000000..7e37b720ef --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/_/780.htm @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>AT-SPI ONLY: option within listbox exposed as ROLE_MENU: option is exposed as ROLE_MENU_ITEM</title> + </head> + <body> + <h1>AT-SPI ONLY: option within listbox exposed as ROLE_MENU: option is exposed as ROLE_MENU_ITEM</h1> + <div role="combobox" aria-expanded="true" aria-label="Combobox for AT-SPI test of listbox/option mappings"> + <input type="text" value="combobox entry field"> + <div role="listbox" aria-label="Listbox child of combobox for AT-SPI test of listbox/option mappings"> + <p role="option" id="test">Test option</p> + <p role="option">Another option</p> + <p role="option">A third option</p> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/ariatree.html b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/ariatree.html new file mode 100644 index 0000000000..d915c55d78 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/ariatree.html @@ -0,0 +1,106 @@ +<!DOCTYPE HTML><!-- HTML 5 --> +<html lang="en"> +<head> + <title>ARIA Tree Example</title> + <meta http-equiv="Content-type" content="text/html; charset=utf-8"> + <link rel="stylesheet" href="./css/treesimple.css" type="text/css"> + <script src="./js/prototype.js"></script> + <script src="./js/aria.js"></script> + <script src="./js/init.js"></script> +</head> +<body> + + <h1>Directions</h1> + <ol> + <li>Tab into the tree control.</li> + <li>Use the up/down arrow keys to change the active descendant.</li> + <li>Use the right/left arrow keys to expand/collapse appropriate nodes.</li> + </ol> + + <p>Some <a href="javascript:$('tree0').focus();">focusable</a> content before the ARIA application.</p> + + <div role="application"> + <h1 id="treelabel">ARIA Tree Example</h1> + <ul id="tree0" role="tree" aria-labelledby="treelabel" aria-activedescendant="tree0_item0_2_0_1" tabindex="0"> + <!-- all the ids and aria-* attributes are hardcoded here for sake of example (final version will use javascript to assign ids as needed) --> + <li id="tree0_item0" role="treeitem" aria-level="1" aria-expanded="true"> + <!-- .expander becomes the javascript trigger for expand/collapse --> + <span class="expander"></span> + Animals + <ul role="group"> + <li id="tree0_item0_0" role="treeitem" aria-level="2"><span>Birds</span></li> + <li id="tree0_item0_1" role="treeitem" aria-level="2" aria-expanded="false"> + <span class="expander"></span> + Cats + <ul role="group"> + <li id="tree0_item0_1_0" role="treeitem" aria-level="3">Siamese</li> + <li id="tree0_item0_1_1" role="treeitem" aria-level="3">Tabby</li> + </ul> + </li> + <li id="tree0_item0_2" role="treeitem" aria-level="2" aria-expanded="true"> + <span class="expander"></span> + Dogs + <ul role="group"> + <li id="tree0_item0_2_0" role="treeitem" aria-level="3" aria-expanded="true"> + <span class="expander"></span> + Small Breeds + <ul role="group"> + <li id="tree0_item0_2_0_0" role="treeitem" aria-level="4">Chihuahua</li> + <li id="tree0_item0_2_0_1" role="treeitem" aria-level="4">Italian Greyhound</li> + <li id="tree0_item0_2_0_2" role="treeitem" aria-level="4">Japanese Chin</li> + </ul> + </li> + <li id="tree0_item0_2_1" role="treeitem" aria-level="3" aria-expanded="false"> + <span class="expander"></span> + Medium Breeds + <ul role="group"> + <li id="tree0_item0_2_1_0" role="treeitem" aria-level="4">Beagle</li> + <li id="tree0_item0_2_1_1" role="treeitem" aria-level="4">Cocker Spaniel</li> + <li id="tree0_item0_2_1_2" role="treeitem" aria-level="4">Pit Bull</li> + </ul> + </li> + <li id="tree0_item0_2_2" role="treeitem" aria-level="3" aria-expanded="false"> + <span class="expander"></span> + Large Breeds + <ul role="group"> + <li id="tree0_item0_2_2_0" role="treeitem" aria-level="4">Afghan</li> + <li id="tree0_item0_2_2_1" role="treeitem" aria-level="4">Great Dane</li> + <li id="tree0_item0_2_2_2" role="treeitem" aria-level="4">Mastiff</li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li id="tree0_item1" role="treeitem" aria-level="1" aria-expanded="true"> + <span class="expander"></span> + Minerals + <ul role="group"> + <li id="tree0_item1_0" role="treeitem" aria-level="2">Zinc</li> + <li id="tree0_item1_1" role="treeitem" aria-level="2" aria-expanded="false"> + <span class="expander"></span> + Gold + <ul role="group"> + <li id="tree0_item1_1_0" role="treeitem" aria-level="3">Yellow Gold</li> + <li id="tree0_item1_1_1" role="treeitem" aria-level="3">White Gold</li> + </ul> + </li> + <li id="tree0_item1_2" role="treeitem" aria-level="2">Silver</li> + </ul> + </li> + <li id="tree0_item2" role="treeitem" aria-level="1" aria-expanded="true"> + <span class="expander"></span> + Vegetables + <ul role="group"> + <li id="tree0_item2_0" role="treeitem" aria-level="2">Carrot</li> + <li id="tree0_item2_1" role="treeitem" aria-level="2">Tomato</li> + <li id="tree0_item2_2" role="treeitem" aria-level="2">Lettuce</li> + </ul> + </li> + </ul> + </div> + + <p>More <a href="javascript:$('tree0').focus();">focusable</a> content after the ARIA application.</p> + +</body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/ariatree2.html b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/ariatree2.html new file mode 100644 index 0000000000..3efe246488 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/ariatree2.html @@ -0,0 +1,124 @@ +<!DOCTYPE HTML><!-- HTML 5 --> +<html lang="en"> +<head> + <title>ARIA Tree Example</title> + <meta http-equiv="Content-type" content="text/html; charset=utf-8"> + <link rel="stylesheet" href="./css/treebox.css" type="text/css"> + <script src="./js/prototype.js"></script> + <script src="./js/aria.js"></script> + <script src="./js/init.js"></script> +</head> +<body> + + <h1>Directions</h1> + <ol> + <li>Tab into the tree control.</li> + <li>Use the up/down arrow keys to change the active descendant.</li> + <li>Use the right/left arrow keys to expand/collapse appropriate nodes.</li> + </ol> + + <p>Some <a href="javascript:$('tree0').focus();">focusable</a> content before the ARIA application.</p> + + <div role="application"> + <h1 id="treelabel">ARIA Tree Example</h1> + <ul id="tree0" role="tree" aria-labelledby="treelabel" aria-activedescendant="tree0_item0_2_0_1" tabindex="0"> + <!-- all the ids and aria-* attributes are hardcoded here for sake of example (final version will use javascript to assign ids as needed) --> + <li id="tree0_item0" role="treeitem" aria-level="1" aria-expanded="true"> + <!-- .expander becomes the javascript trigger for expand/collapse --> + <span> + <span class="expander"></span> + Animals + </span> + <ul role="group"> + <li id="tree0_item0_0" role="treeitem" aria-level="2"><span>Birds</span></li> + <li id="tree0_item0_1" role="treeitem" aria-level="2" aria-expanded="false"> + <span> + <span class="expander"></span> + Cats + </span> + <ul role="group"> + <li id="tree0_item0_1_0" role="treeitem" aria-level="3"><span>Siamese</span></li> + <li id="tree0_item0_1_1" role="treeitem" aria-level="3"><span>Tabby</span></li> + </ul> + </li> + <li id="tree0_item0_2" role="treeitem" aria-level="2" aria-expanded="true"> + <span> + <span class="expander"></span> + Dogs + </span> + <ul role="group"> + <li id="tree0_item0_2_0" role="treeitem" aria-level="3" aria-expanded="true"> + <span> + <span class="expander"></span> + Small Breeds + </span> + <ul role="group"> + <li id="tree0_item0_2_0_0" role="treeitem" aria-level="4"><span>Chihuahua</span></li> + <li id="tree0_item0_2_0_1" role="treeitem" aria-level="4"><span>Italian Greyhound</span></li> + <li id="tree0_item0_2_0_2" role="treeitem" aria-level="4"><span>Japanese Chin</span></li> + </ul> + </li> + <li id="tree0_item0_2_1" role="treeitem" aria-level="3" aria-expanded="false"> + <span> + <span class="expander"></span> + Medium Breeds + </span> + <ul role="group"> + <li id="tree0_item0_2_1_0" role="treeitem" aria-level="4"><span>Beagle</span></li> + <li id="tree0_item0_2_1_1" role="treeitem" aria-level="4"><span>Cocker Spaniel</span></li> + <li id="tree0_item0_2_1_2" role="treeitem" aria-level="4"><span>Pit Bull</span></li> + </ul> + </li> + <li id="tree0_item0_2_2" role="treeitem" aria-level="3" aria-expanded="false"> + <span> + <span class="expander"></span> + Large Breeds + </span> + <ul role="group"> + <li id="tree0_item0_2_2_0" role="treeitem" aria-level="4"><span>Afghan</span></li> + <li id="tree0_item0_2_2_1" role="treeitem" aria-level="4"><span>Great Dane</span></li> + <li id="tree0_item0_2_2_2" role="treeitem" aria-level="4"><span>Mastiff</span></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li id="tree0_item1" role="treeitem" aria-level="1" aria-expanded="true"> + <span> + <span class="expander"></span> + Minerals + </span> + <ul role="group"> + <li id="tree0_item1_0" role="treeitem" aria-level="2"><span>Zinc</span></li> + <li id="tree0_item1_1" role="treeitem" aria-level="2" aria-expanded="false"> + <span> + <span class="expander"></span> + Gold + </span> + <ul role="group"> + <li id="tree0_item1_1_0" role="treeitem" aria-level="3"><span>Yellow Gold</span></li> + <li id="tree0_item1_1_1" role="treeitem" aria-level="3"><span>White Gold</span></li> + </ul> + </li> + <li id="tree0_item1_2" role="treeitem" aria-level="2"><span>Silver</span></li> + </ul> + </li> + <li id="tree0_item2" role="treeitem" aria-level="1" aria-expanded="true"> + <span> + <span class="expander"></span> + Vegetables + </span> + <ul role="group"> + <li id="tree0_item2_0" role="treeitem" aria-level="2"><span>Carrot</span></li> + <li id="tree0_item2_1" role="treeitem" aria-level="2"><span>Tomato</span></li> + <li id="tree0_item2_2" role="treeitem" aria-level="2"><span>Lettuce</span></li> + </ul> + </li> + </ul> + </div> + + <p>More <a href="javascript:$('tree0').focus();">focusable</a> content after the ARIA application.</p> + +</body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/css/img/expander.gif b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/css/img/expander.gif Binary files differnew file mode 100644 index 0000000000..e305b9dd73 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/css/img/expander.gif diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/css/treebox.css b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/css/treebox.css new file mode 100644 index 0000000000..5064fa308a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/css/treebox.css @@ -0,0 +1,65 @@ + +/* variant of treesimple.css, that adds slightly more complex styling. */ + +html, body { + color:#333; + background-color:#fff; + font-family:"helvetica neue", arial, helvetica, sans-serif; + font-size:12px; + line-height:1.4em; +} +h1{ + font-size:14px; +} +[role="tree"]{ + border:solid 1px #000; + width:300px; /* hardcoded for example */ + cursor:default; +} +ul[role="tree"], [role="tree"] li, [role="tree"] ul { + display:block; + list-style:none; + margin:0; + padding:0; +} +li[role="treeitem"] { + position:relative; +} + +[role="treeitem"] > span{ display:block; } + +/* looks kinda redundant, but is necessary to get the full left bleed on sub-level items */ +[role="treeitem"] > span{ padding-left:15px; } +[role="treeitem"] [role="treeitem"] > span{ padding-left:30px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] > span{ padding-left:45px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] > span{ padding-left:60px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] > span{ padding-left:75px; } + +.expander { + display:block; + position:absolute; + left:2px; + top:0.3em; + width:9px; + height:9px; + background:transparent url(./img/expander.gif) -9px 0 no-repeat; +} +[aria-expanded="false"] > * > .expander { + background-position:0 0; +} +[role="treeitem"] [role="treeitem"] .expander { left:17px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] .expander { left:32px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] .expander { left:47px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] .expander { left:62px; } + + +[aria-expanded="false"] [role="group"] { + display:none; +} +[role="tree"] .activedescendant > span { + background-color:#ccc; +} +[role="tree"]:focus .activedescendant > span { + color:#fff; + background-color:#03c; +} diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/css/treesimple.css b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/css/treesimple.css new file mode 100644 index 0000000000..835d4e1c3b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/css/treesimple.css @@ -0,0 +1,50 @@ + +html, body { + color:#333; + background-color:#fff; + font-family:"helvetica neue", arial, helvetica, sans-serif; + font-size:12px; + line-height:1.4em; +} +h1{ + font-size:14px; +} +[role="tree"]{ + cursor:default; +} +ul[role="tree"], [role="tree"] li, [role="tree"] ul { + display:block; + list-style:none; + margin:0; + padding:0; +} +li[role="treeitem"] { + position:relative; + padding-left:15px; +} +.expander { + display:block; + position:absolute; + left:2px; + top:0.3em; + width:9px; + height:9px; + background:transparent url(./img/expander.gif) -9px 0 no-repeat; +} +[aria-expanded="false"] > * > .expander { + background-position:0 0; +} +[aria-expanded="false"] [role="group"] { + display:none; +} +[role="tree"] .activedescendant { + font-weight:bold; + color:#000; +} +[role="tree"]:focus .activedescendant{ + color:#03c; +} +[role="tree"] .activedescendant [role="group"] { + font-weight:normal; + color:#000; +} diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/js/aria.js b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/js/aria.js new file mode 100644 index 0000000000..bf3bc5399e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/js/aria.js @@ -0,0 +1,158 @@ + +/* Aria Singleton */ +var Aria = { + Trees: new Array(), // instances of Aria.Tree Class + isEnabled: function(inNode){ + // todo: this may need to check isEnabled on all parentNodes, inheritence of aria-enabled is ambiguous + if(inNode.getAttribute('aria-enabled') && inNode.getAttribute('aria-enabled').toLowerCase()=='false') return false; + else return true; + }, + isExpanded: function(inNode){ + if(inNode.getAttribute('aria-expanded') && inNode.getAttribute('aria-expanded').toLowerCase()=='false') return false; + else return true; + }, + isTreeItem: function(inNode){ + if(inNode.getAttribute('role') && inNode.getAttribute('role').toLowerCase()=='treeitem') return true; + else return false; + } +}; + +Aria.Tree = Class.create(); +Aria.Tree.prototype = { + initialize: function(inNode){ + this.el = $(inNode); + this.index = Aria.Trees.length; // each tree should know its index in the Aria singleton's list, in order to concatenate id strings + this.strActiveDescendant = this.el.getAttribute('aria-activedescendant'); + this.strDefaultActiveDescendant = 'tree'+this.index+'_item0'; // default first item + if(!$(this.strActiveDescendant)) this.strActiveDescendant = this.strDefaultActiveDescendant; // set to default if no existing activedescendant + this.setActiveDescendant($(this.strActiveDescendant)); + + // set up event delegation on the tree node + Event.observe(this.el, 'click', this.handleClick.bindAsEventListener(this)); + Event.observe(this.el, 'keydown', this.handleKeyPress.bindAsEventListener(this)); //webkit doesn't send keypress events for arrow keys, so use keydown instead + + }, + getActiveDescendant: function(inNode){ + if(inNode){ // if inNode (from event target), sets the activedescendant to nearest ancestor treeitem + var el = $(inNode); + while(el != this.el){ + if(Aria.isTreeItem(el)) break; // exit the loop; we have the treeitem + el = el.parentNode; + } + if(el == this.el) { + this.setActiveDescendant(); // set to default activedescendant + } else { + this.setActiveDescendant(el); + return el; + } + } else { + return $(this.el.getAttribute('aria-activedescendant')); + } + }, + getNextTreeItem: function(inNode){ + var el = $(inNode); + var originalElm = $(inNode); + while(!Aria.isTreeItem(el) || el == originalElm){ + if(Aria.isExpanded(el) && el.down()){ // should be el.down('[role="treeitem"]'); + var elements = el.getElementsByTagName('*'); + for(var i=0, c=elements.length; i<c; i++){ + if(Aria.isTreeItem(elements[i])) return elements[i]; + } + } + if(el.next()){ + el = el.next(); + } else { + while(!el.parentNode.next() && el.parentNode != this.el){ + el = el.parentNode; + } + if(el.parentNode == this.el) return originalElm; // if no next items in tree, return current treeitem + else el = el.parentNode.next(); + } + } + return el; + }, + getPreviousTreeItem: function(inNode){ + var el = $(inNode); + var originalElm = $(inNode); + while(!Aria.isTreeItem(el) || el == originalElm){ + if(el.previous()){ + el = el.previous(); + // recursively choose last child node of previous el, as long as it's not in an collapsed node + if (el.down() && Aria.isExpanded(el)){ + el = el.down(); + while (el.next() || (el.down() && Aria.isExpanded(el))){ + if (el.next()) el = el.next(); + else el = el.down(); + } + } + } else { + if(el.parentNode == this.el) return originalElm; // if no previous items in tree, return current treeitem + el = el.parentNode; + } + } + if(el == this.el) return originalElm; // if no previous items in tree, return current treeitem + return el; + }, + handleClick: function(inEvent){ + var target = inEvent.target; // get the click target + var el = this.getActiveDescendant(target); + if(target.className.indexOf('expander')>-1){ // if it's an expander widget + this.toggleExpanded(el); // toggle the aria-expanded attribute on activedescendant + Event.stop(inEvent); // and stop the event + } + }, + handleKeyPress: function(inEvent){ + switch(inEvent.keyCode){ + // case Event.KEY_PAGEUP: break; + // case Event.KEY_PAGEDOWN: break; + // case Event.KEY_END: break; + // case Event.KEY_HOME: break; + case Event.KEY_LEFT: this.keyLeft(); break; + case Event.KEY_UP: this.keyUp(); break; + case Event.KEY_RIGHT: this.keyRight(); break; + case Event.KEY_DOWN: this.keyDown(); break; + default: + return; + } + Event.stop(inEvent); + }, + keyLeft: function(){ + var el = this.activeDescendant; + if(Aria.isExpanded(el)){ + el.setAttribute('aria-expanded','false'); + this.setActiveDescendant(this.activeDescendant); + } + }, + keyUp: function(){ + var el = this.activeDescendant; + this.setActiveDescendant(this.getPreviousTreeItem(el)); + }, + keyRight: function(){ + var el = this.activeDescendant; + if(!Aria.isExpanded(el)){ + el.setAttribute('aria-expanded','true'); + this.setActiveDescendant(this.activeDescendant); + } + }, + keyDown: function(){ + var el = this.activeDescendant; + this.setActiveDescendant(this.getNextTreeItem(el)); + }, + setActiveDescendant: function(inNode){ + Element.removeClassName(this.activeDescendant,'activedescendant') + if($(inNode)) this.activeDescendant = $(inNode); + else this.activeDescendant = $(this.strDefaultActiveDescendant); + Element.addClassName(this.activeDescendant,'activedescendant') + this.strActiveDescendant = this.activeDescendant.id; + this.el.setAttribute('aria-activedescendant', this.activeDescendant.id); + }, + toggleExpanded: function(inNode){ + var el = $(inNode); + if(Aria.isExpanded(el)){ + el.setAttribute('aria-expanded','false'); + } else { + el.setAttribute('aria-expanded','true'); + } + this.setActiveDescendant(el); + } +}; diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/js/init.js b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/js/init.js new file mode 100644 index 0000000000..c4e507f1f3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/js/init.js @@ -0,0 +1,8 @@ +function myLoad(){ + $$('[role="tree"]').each(function(elm){ + // for each node where [role="tree"], create a new Aria.Tree instance and append it to array Aria.Trees + Aria.Trees.push(new Aria.Tree(elm)); + }); +} +Event.observe(window, 'load', myLoad); // will probably use onDOMContentLoaded instead of onLoad + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/js/prototype.js b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/js/prototype.js new file mode 100644 index 0000000000..c14b177230 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/_functional/tree/js/prototype.js @@ -0,0 +1,4180 @@ +/* Prototype JavaScript framework, version 1.6.0 + * (c) 2005-2007 Sam Stephenson + * + * Prototype is freely distributable under the terms of an MIT-style license. + * For details, see the Prototype web site: http://www.prototypejs.org/ + * + *--------------------------------------------------------------------------*/ + +var Prototype = { + Version: '1.6.0', + + Browser: { + IE: !!(window.attachEvent && !window.opera), + Opera: !!window.opera, + WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, + Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1, + MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) + }, + + BrowserFeatures: { + XPath: !!document.evaluate, + ElementExtensions: !!window.HTMLElement, + SpecificElementExtensions: + document.createElement('div').__proto__ && + document.createElement('div').__proto__ !== + document.createElement('form').__proto__ + }, + + ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>', + JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, + + emptyFunction: function() { }, + K: function(x) { return x } +}; + +if (Prototype.Browser.MobileSafari) + Prototype.BrowserFeatures.SpecificElementExtensions = false; + +if (Prototype.Browser.WebKit) + Prototype.BrowserFeatures.XPath = false; + +/* Based on Alex Arnell's inheritance implementation. */ +var Class = { + create: function() { + var parent = null, properties = $A(arguments); + if (Object.isFunction(properties[0])) + parent = properties.shift(); + + function klass() { + this.initialize.apply(this, arguments); + } + + Object.extend(klass, Class.Methods); + klass.superclass = parent; + klass.subclasses = []; + + if (parent) { + var subclass = function() { }; + subclass.prototype = parent.prototype; + klass.prototype = new subclass; + parent.subclasses.push(klass); + } + + for (var i = 0; i < properties.length; i++) + klass.addMethods(properties[i]); + + if (!klass.prototype.initialize) + klass.prototype.initialize = Prototype.emptyFunction; + + klass.prototype.constructor = klass; + + return klass; + } +}; + +Class.Methods = { + addMethods: function(source) { + var ancestor = this.superclass && this.superclass.prototype; + var properties = Object.keys(source); + + if (!Object.keys({ toString: true }).length) + properties.push("toString", "valueOf"); + + for (var i = 0, length = properties.length; i < length; i++) { + var property = properties[i], value = source[property]; + if (ancestor && Object.isFunction(value) && + value.argumentNames().first() == "$super") { + var method = value, value = Object.extend((function(m) { + return function() { return ancestor[m].apply(this, arguments) }; + })(property).wrap(method), { + valueOf: function() { return method }, + toString: function() { return method.toString() } + }); + } + this.prototype[property] = value; + } + + return this; + } +}; + +var Abstract = { }; + +Object.extend = function(destination, source) { + for (var property in source) + destination[property] = source[property]; + return destination; +}; + +Object.extend(Object, { + inspect: function(object) { + try { + if (object === undefined) return 'undefined'; + if (object === null) return 'null'; + return object.inspect ? object.inspect() : object.toString(); + } catch (e) { + if (e instanceof RangeError) return '...'; + throw e; + } + }, + + toJSON: function(object) { + var type = typeof object; + switch (type) { + case 'undefined': + case 'function': + case 'unknown': return; + case 'boolean': return object.toString(); + } + + if (object === null) return 'null'; + if (object.toJSON) return object.toJSON(); + if (Object.isElement(object)) return; + + var results = []; + for (var property in object) { + var value = Object.toJSON(object[property]); + if (value !== undefined) + results.push(property.toJSON() + ': ' + value); + } + + return '{' + results.join(', ') + '}'; + }, + + toQueryString: function(object) { + return $H(object).toQueryString(); + }, + + toHTML: function(object) { + return object && object.toHTML ? object.toHTML() : String.interpret(object); + }, + + keys: function(object) { + var keys = []; + for (var property in object) + keys.push(property); + return keys; + }, + + values: function(object) { + var values = []; + for (var property in object) + values.push(object[property]); + return values; + }, + + clone: function(object) { + return Object.extend({ }, object); + }, + + isElement: function(object) { + return object && object.nodeType == 1; + }, + + isArray: function(object) { + return object && object.constructor === Array; + }, + + isHash: function(object) { + return object instanceof Hash; + }, + + isFunction: function(object) { + return typeof object == "function"; + }, + + isString: function(object) { + return typeof object == "string"; + }, + + isNumber: function(object) { + return typeof object == "number"; + }, + + isUndefined: function(object) { + return typeof object == "undefined"; + } +}); + +Object.extend(Function.prototype, { + argumentNames: function() { + var names = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip"); + return names.length == 1 && !names[0] ? [] : names; + }, + + bind: function() { + if (arguments.length < 2 && arguments[0] === undefined) return this; + var __method = this, args = $A(arguments), object = args.shift(); + return function() { + return __method.apply(object, args.concat($A(arguments))); + } + }, + + bindAsEventListener: function() { + var __method = this, args = $A(arguments), object = args.shift(); + return function(event) { + return __method.apply(object, [event || window.event].concat(args)); + } + }, + + curry: function() { + if (!arguments.length) return this; + var __method = this, args = $A(arguments); + return function() { + return __method.apply(this, args.concat($A(arguments))); + } + }, + + delay: function() { + var __method = this, args = $A(arguments), timeout = args.shift() * 1000; + return window.setTimeout(function() { + return __method.apply(__method, args); + }, timeout); + }, + + wrap: function(wrapper) { + var __method = this; + return function() { + return wrapper.apply(this, [__method.bind(this)].concat($A(arguments))); + } + }, + + methodize: function() { + if (this._methodized) return this._methodized; + var __method = this; + return this._methodized = function() { + return __method.apply(null, [this].concat($A(arguments))); + }; + } +}); + +Function.prototype.defer = Function.prototype.delay.curry(0.01); + +Date.prototype.toJSON = function() { + return '"' + this.getUTCFullYear() + '-' + + (this.getUTCMonth() + 1).toPaddedString(2) + '-' + + this.getUTCDate().toPaddedString(2) + 'T' + + this.getUTCHours().toPaddedString(2) + ':' + + this.getUTCMinutes().toPaddedString(2) + ':' + + this.getUTCSeconds().toPaddedString(2) + 'Z"'; +}; + +var Try = { + these: function() { + var returnValue; + + for (var i = 0, length = arguments.length; i < length; i++) { + var lambda = arguments[i]; + try { + returnValue = lambda(); + break; + } catch (e) { } + } + + return returnValue; + } +}; + +RegExp.prototype.match = RegExp.prototype.test; + +RegExp.escape = function(str) { + return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); +}; + +/*--------------------------------------------------------------------------*/ + +var PeriodicalExecuter = Class.create({ + initialize: function(callback, frequency) { + this.callback = callback; + this.frequency = frequency; + this.currentlyExecuting = false; + + this.registerCallback(); + }, + + registerCallback: function() { + this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); + }, + + execute: function() { + this.callback(this); + }, + + stop: function() { + if (!this.timer) return; + clearInterval(this.timer); + this.timer = null; + }, + + onTimerEvent: function() { + if (!this.currentlyExecuting) { + try { + this.currentlyExecuting = true; + this.execute(); + } finally { + this.currentlyExecuting = false; + } + } + } +}); +Object.extend(String, { + interpret: function(value) { + return value == null ? '' : String(value); + }, + specialChar: { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '\\': '\\\\' + } +}); + +Object.extend(String.prototype, { + gsub: function(pattern, replacement) { + var result = '', source = this, match; + replacement = arguments.callee.prepareReplacement(replacement); + + while (source.length > 0) { + if (match = source.match(pattern)) { + result += source.slice(0, match.index); + result += String.interpret(replacement(match)); + source = source.slice(match.index + match[0].length); + } else { + result += source, source = ''; + } + } + return result; + }, + + sub: function(pattern, replacement, count) { + replacement = this.gsub.prepareReplacement(replacement); + count = count === undefined ? 1 : count; + + return this.gsub(pattern, function(match) { + if (--count < 0) return match[0]; + return replacement(match); + }); + }, + + scan: function(pattern, iterator) { + this.gsub(pattern, iterator); + return String(this); + }, + + truncate: function(length, truncation) { + length = length || 30; + truncation = truncation === undefined ? '...' : truncation; + return this.length > length ? + this.slice(0, length - truncation.length) + truncation : String(this); + }, + + strip: function() { + return this.replace(/^\s+/, '').replace(/\s+$/, ''); + }, + + stripTags: function() { + return this.replace(/<\/?[^>]+>/gi, ''); + }, + + stripScripts: function() { + return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); + }, + + extractScripts: function() { + var matchAll = new RegExp(Prototype.ScriptFragment, 'img'); + var matchOne = new RegExp(Prototype.ScriptFragment, 'im'); + return (this.match(matchAll) || []).map(function(scriptTag) { + return (scriptTag.match(matchOne) || ['', ''])[1]; + }); + }, + + evalScripts: function() { + return this.extractScripts().map(function(script) { return eval(script) }); + }, + + escapeHTML: function() { + var self = arguments.callee; + self.text.data = this; + return self.div.innerHTML; + }, + + unescapeHTML: function() { + var div = new Element('div'); + div.innerHTML = this.stripTags(); + return div.childNodes[0] ? (div.childNodes.length > 1 ? + $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) : + div.childNodes[0].nodeValue) : ''; + }, + + toQueryParams: function(separator) { + var match = this.strip().match(/([^?#]*)(#.*)?$/); + if (!match) return { }; + + return match[1].split(separator || '&').inject({ }, function(hash, pair) { + if ((pair = pair.split('='))[0]) { + var key = decodeURIComponent(pair.shift()); + var value = pair.length > 1 ? pair.join('=') : pair[0]; + if (value != undefined) value = decodeURIComponent(value); + + if (key in hash) { + if (!Object.isArray(hash[key])) hash[key] = [hash[key]]; + hash[key].push(value); + } + else hash[key] = value; + } + return hash; + }); + }, + + toArray: function() { + return this.split(''); + }, + + succ: function() { + return this.slice(0, this.length - 1) + + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); + }, + + times: function(count) { + return count < 1 ? '' : new Array(count + 1).join(this); + }, + + camelize: function() { + var parts = this.split('-'), len = parts.length; + if (len == 1) return parts[0]; + + var camelized = this.charAt(0) == '-' + ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) + : parts[0]; + + for (var i = 1; i < len; i++) + camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1); + + return camelized; + }, + + capitalize: function() { + return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); + }, + + underscore: function() { + return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase(); + }, + + dasherize: function() { + return this.gsub(/_/,'-'); + }, + + inspect: function(useDoubleQuotes) { + var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) { + var character = String.specialChar[match[0]]; + return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16); + }); + if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; + return "'" + escapedString.replace(/'/g, '\\\'') + "'"; + }, + + toJSON: function() { + return this.inspect(true); + }, + + unfilterJSON: function(filter) { + return this.sub(filter || Prototype.JSONFilter, '#{1}'); + }, + + isJSON: function() { + var str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); + return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); + }, + + evalJSON: function(sanitize) { + var json = this.unfilterJSON(); + try { + if (!sanitize || json.isJSON()) return eval('(' + json + ')'); + } catch (e) { } + throw new SyntaxError('Badly formed JSON string: ' + this.inspect()); + }, + + include: function(pattern) { + return this.indexOf(pattern) > -1; + }, + + startsWith: function(pattern) { + return this.indexOf(pattern) === 0; + }, + + endsWith: function(pattern) { + var d = this.length - pattern.length; + return d >= 0 && this.lastIndexOf(pattern) === d; + }, + + empty: function() { + return this == ''; + }, + + blank: function() { + return /^\s*$/.test(this); + }, + + interpolate: function(object, pattern) { + return new Template(this, pattern).evaluate(object); + } +}); + +if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, { + escapeHTML: function() { + return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); + }, + unescapeHTML: function() { + return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); + } +}); + +String.prototype.gsub.prepareReplacement = function(replacement) { + if (Object.isFunction(replacement)) return replacement; + var template = new Template(replacement); + return function(match) { return template.evaluate(match) }; +}; + +String.prototype.parseQuery = String.prototype.toQueryParams; + +Object.extend(String.prototype.escapeHTML, { + div: document.createElement('div'), + text: document.createTextNode('') +}); + +with (String.prototype.escapeHTML) div.appendChild(text); + +var Template = Class.create({ + initialize: function(template, pattern) { + this.template = template.toString(); + this.pattern = pattern || Template.Pattern; + }, + + evaluate: function(object) { + if (Object.isFunction(object.toTemplateReplacements)) + object = object.toTemplateReplacements(); + + return this.template.gsub(this.pattern, function(match) { + if (object == null) return ''; + + var before = match[1] || ''; + if (before == '\\') return match[2]; + + var ctx = object, expr = match[3]; + var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/, match = pattern.exec(expr); + if (match == null) return before; + + while (match != null) { + var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1]; + ctx = ctx[comp]; + if (null == ctx || '' == match[3]) break; + expr = expr.substring('[' == match[3] ? match[1].length : match[0].length); + match = pattern.exec(expr); + } + + return before + String.interpret(ctx); + }.bind(this)); + } +}); +Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; + +var $break = { }; + +var Enumerable = { + each: function(iterator, context) { + var index = 0; + iterator = iterator.bind(context); + try { + this._each(function(value) { + iterator(value, index++); + }); + } catch (e) { + if (e != $break) throw e; + } + return this; + }, + + eachSlice: function(number, iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var index = -number, slices = [], array = this.toArray(); + while ((index += number) < array.length) + slices.push(array.slice(index, index+number)); + return slices.collect(iterator, context); + }, + + all: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result = true; + this.each(function(value, index) { + result = result && !!iterator(value, index); + if (!result) throw $break; + }); + return result; + }, + + any: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result = false; + this.each(function(value, index) { + if (result = !!iterator(value, index)) + throw $break; + }); + return result; + }, + + collect: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var results = []; + this.each(function(value, index) { + results.push(iterator(value, index)); + }); + return results; + }, + + detect: function(iterator, context) { + iterator = iterator.bind(context); + var result; + this.each(function(value, index) { + if (iterator(value, index)) { + result = value; + throw $break; + } + }); + return result; + }, + + findAll: function(iterator, context) { + iterator = iterator.bind(context); + var results = []; + this.each(function(value, index) { + if (iterator(value, index)) + results.push(value); + }); + return results; + }, + + grep: function(filter, iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var results = []; + + if (Object.isString(filter)) + filter = new RegExp(filter); + + this.each(function(value, index) { + if (filter.match(value)) + results.push(iterator(value, index)); + }); + return results; + }, + + include: function(object) { + if (Object.isFunction(this.indexOf)) + if (this.indexOf(object) != -1) return true; + + var found = false; + this.each(function(value) { + if (value == object) { + found = true; + throw $break; + } + }); + return found; + }, + + inGroupsOf: function(number, fillWith) { + fillWith = fillWith === undefined ? null : fillWith; + return this.eachSlice(number, function(slice) { + while(slice.length < number) slice.push(fillWith); + return slice; + }); + }, + + inject: function(memo, iterator, context) { + iterator = iterator.bind(context); + this.each(function(value, index) { + memo = iterator(memo, value, index); + }); + return memo; + }, + + invoke: function(method) { + var args = $A(arguments).slice(1); + return this.map(function(value) { + return value[method].apply(value, args); + }); + }, + + max: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result; + this.each(function(value, index) { + value = iterator(value, index); + if (result == undefined || value >= result) + result = value; + }); + return result; + }, + + min: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result; + this.each(function(value, index) { + value = iterator(value, index); + if (result == undefined || value < result) + result = value; + }); + return result; + }, + + partition: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var trues = [], falses = []; + this.each(function(value, index) { + (iterator(value, index) ? + trues : falses).push(value); + }); + return [trues, falses]; + }, + + pluck: function(property) { + var results = []; + this.each(function(value) { + results.push(value[property]); + }); + return results; + }, + + reject: function(iterator, context) { + iterator = iterator.bind(context); + var results = []; + this.each(function(value, index) { + if (!iterator(value, index)) + results.push(value); + }); + return results; + }, + + sortBy: function(iterator, context) { + iterator = iterator.bind(context); + return this.map(function(value, index) { + return {value: value, criteria: iterator(value, index)}; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }).pluck('value'); + }, + + toArray: function() { + return this.map(); + }, + + zip: function() { + var iterator = Prototype.K, args = $A(arguments); + if (Object.isFunction(args.last())) + iterator = args.pop(); + + var collections = [this].concat(args).map($A); + return this.map(function(value, index) { + return iterator(collections.pluck(index)); + }); + }, + + size: function() { + return this.toArray().length; + }, + + inspect: function() { + return '#<Enumerable:' + this.toArray().inspect() + '>'; + } +}; + +Object.extend(Enumerable, { + map: Enumerable.collect, + find: Enumerable.detect, + select: Enumerable.findAll, + filter: Enumerable.findAll, + member: Enumerable.include, + entries: Enumerable.toArray, + every: Enumerable.all, + some: Enumerable.any +}); +function $A(iterable) { + if (!iterable) return []; + if (iterable.toArray) return iterable.toArray(); + var length = iterable.length, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; +} + +if (Prototype.Browser.WebKit) { + function $A(iterable) { + if (!iterable) return []; + if (!(Object.isFunction(iterable) && iterable == '[object NodeList]') && + iterable.toArray) return iterable.toArray(); + var length = iterable.length, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; + } +} + +Array.from = $A; + +Object.extend(Array.prototype, Enumerable); + +if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse; + +Object.extend(Array.prototype, { + _each: function(iterator) { + for (var i = 0, length = this.length; i < length; i++) + iterator(this[i]); + }, + + clear: function() { + this.length = 0; + return this; + }, + + first: function() { + return this[0]; + }, + + last: function() { + return this[this.length - 1]; + }, + + compact: function() { + return this.select(function(value) { + return value != null; + }); + }, + + flatten: function() { + return this.inject([], function(array, value) { + return array.concat(Object.isArray(value) ? + value.flatten() : [value]); + }); + }, + + without: function() { + var values = $A(arguments); + return this.select(function(value) { + return !values.include(value); + }); + }, + + reverse: function(inline) { + return (inline !== false ? this : this.toArray())._reverse(); + }, + + reduce: function() { + return this.length > 1 ? this : this[0]; + }, + + uniq: function(sorted) { + return this.inject([], function(array, value, index) { + if (0 == index || (sorted ? array.last() != value : !array.include(value))) + array.push(value); + return array; + }); + }, + + intersect: function(array) { + return this.uniq().findAll(function(item) { + return array.detect(function(value) { return item === value }); + }); + }, + + clone: function() { + return [].concat(this); + }, + + size: function() { + return this.length; + }, + + inspect: function() { + return '[' + this.map(Object.inspect).join(', ') + ']'; + }, + + toJSON: function() { + var results = []; + this.each(function(object) { + var value = Object.toJSON(object); + if (value !== undefined) results.push(value); + }); + return '[' + results.join(', ') + ']'; + } +}); + +// use native browser JS 1.6 implementation if available +if (Object.isFunction(Array.prototype.forEach)) + Array.prototype._each = Array.prototype.forEach; + +if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) { + i || (i = 0); + var length = this.length; + if (i < 0) i = length + i; + for (; i < length; i++) + if (this[i] === item) return i; + return -1; +}; + +if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) { + i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; + var n = this.slice(0, i).reverse().indexOf(item); + return (n < 0) ? n : i - n - 1; +}; + +Array.prototype.toArray = Array.prototype.clone; + +function $w(string) { + if (!Object.isString(string)) return []; + string = string.strip(); + return string ? string.split(/\s+/) : []; +} + +if (Prototype.Browser.Opera){ + Array.prototype.concat = function() { + var array = []; + for (var i = 0, length = this.length; i < length; i++) array.push(this[i]); + for (var i = 0, length = arguments.length; i < length; i++) { + if (Object.isArray(arguments[i])) { + for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++) + array.push(arguments[i][j]); + } else { + array.push(arguments[i]); + } + } + return array; + }; +} +Object.extend(Number.prototype, { + toColorPart: function() { + return this.toPaddedString(2, 16); + }, + + succ: function() { + return this + 1; + }, + + times: function(iterator) { + $R(0, this, true).each(iterator); + return this; + }, + + toPaddedString: function(length, radix) { + var string = this.toString(radix || 10); + return '0'.times(length - string.length) + string; + }, + + toJSON: function() { + return isFinite(this) ? this.toString() : 'null'; + } +}); + +$w('abs round ceil floor').each(function(method){ + Number.prototype[method] = Math[method].methodize(); +}); +function $H(object) { + return new Hash(object); +}; + +var Hash = Class.create(Enumerable, (function() { + if (function() { + var i = 0, Test = function(value) { this.key = value }; + Test.prototype.key = 'foo'; + for (var property in new Test('bar')) i++; + return i > 1; + }()) { + function each(iterator) { + var cache = []; + for (var key in this._object) { + var value = this._object[key]; + if (cache.include(key)) continue; + cache.push(key); + var pair = [key, value]; + pair.key = key; + pair.value = value; + iterator(pair); + } + } + } else { + function each(iterator) { + for (var key in this._object) { + var value = this._object[key], pair = [key, value]; + pair.key = key; + pair.value = value; + iterator(pair); + } + } + } + + function toQueryPair(key, value) { + if (Object.isUndefined(value)) return key; + return key + '=' + encodeURIComponent(String.interpret(value)); + } + + return { + initialize: function(object) { + this._object = Object.isHash(object) ? object.toObject() : Object.clone(object); + }, + + _each: each, + + set: function(key, value) { + return this._object[key] = value; + }, + + get: function(key) { + return this._object[key]; + }, + + unset: function(key) { + var value = this._object[key]; + delete this._object[key]; + return value; + }, + + toObject: function() { + return Object.clone(this._object); + }, + + keys: function() { + return this.pluck('key'); + }, + + values: function() { + return this.pluck('value'); + }, + + index: function(value) { + var match = this.detect(function(pair) { + return pair.value === value; + }); + return match && match.key; + }, + + merge: function(object) { + return this.clone().update(object); + }, + + update: function(object) { + return new Hash(object).inject(this, function(result, pair) { + result.set(pair.key, pair.value); + return result; + }); + }, + + toQueryString: function() { + return this.map(function(pair) { + var key = encodeURIComponent(pair.key), values = pair.value; + + if (values && typeof values == 'object') { + if (Object.isArray(values)) + return values.map(toQueryPair.curry(key)).join('&'); + } + return toQueryPair(key, values); + }).join('&'); + }, + + inspect: function() { + return '#<Hash:{' + this.map(function(pair) { + return pair.map(Object.inspect).join(': '); + }).join(', ') + '}>'; + }, + + toJSON: function() { + return Object.toJSON(this.toObject()); + }, + + clone: function() { + return new Hash(this); + } + } +})()); + +Hash.prototype.toTemplateReplacements = Hash.prototype.toObject; +Hash.from = $H; +var ObjectRange = Class.create(Enumerable, { + initialize: function(start, end, exclusive) { + this.start = start; + this.end = end; + this.exclusive = exclusive; + }, + + _each: function(iterator) { + var value = this.start; + while (this.include(value)) { + iterator(value); + value = value.succ(); + } + }, + + include: function(value) { + if (value < this.start) + return false; + if (this.exclusive) + return value < this.end; + return value <= this.end; + } +}); + +var $R = function(start, end, exclusive) { + return new ObjectRange(start, end, exclusive); +}; + +var Ajax = { + getTransport: function() { + return Try.these( + function() {return new XMLHttpRequest()}, + function() {return new ActiveXObject('Msxml2.XMLHTTP')}, + function() {return new ActiveXObject('Microsoft.XMLHTTP')} + ) || false; + }, + + activeRequestCount: 0 +}; + +Ajax.Responders = { + responders: [], + + _each: function(iterator) { + this.responders._each(iterator); + }, + + register: function(responder) { + if (!this.include(responder)) + this.responders.push(responder); + }, + + unregister: function(responder) { + this.responders = this.responders.without(responder); + }, + + dispatch: function(callback, request, transport, json) { + this.each(function(responder) { + if (Object.isFunction(responder[callback])) { + try { + responder[callback].apply(responder, [request, transport, json]); + } catch (e) { } + } + }); + } +}; + +Object.extend(Ajax.Responders, Enumerable); + +Ajax.Responders.register({ + onCreate: function() { Ajax.activeRequestCount++ }, + onComplete: function() { Ajax.activeRequestCount-- } +}); + +Ajax.Base = Class.create({ + initialize: function(options) { + this.options = { + method: 'post', + asynchronous: true, + contentType: 'application/x-www-form-urlencoded', + encoding: 'UTF-8', + parameters: '', + evalJSON: true, + evalJS: true + }; + Object.extend(this.options, options || { }); + + this.options.method = this.options.method.toLowerCase(); + if (Object.isString(this.options.parameters)) + this.options.parameters = this.options.parameters.toQueryParams(); + } +}); + +Ajax.Request = Class.create(Ajax.Base, { + _complete: false, + + initialize: function($super, url, options) { + $super(options); + this.transport = Ajax.getTransport(); + this.request(url); + }, + + request: function(url) { + this.url = url; + this.method = this.options.method; + var params = Object.clone(this.options.parameters); + + if (!['get', 'post'].include(this.method)) { + // simulate other verbs over post + params['_method'] = this.method; + this.method = 'post'; + } + + this.parameters = params; + + if (params = Object.toQueryString(params)) { + // when GET, append parameters to URL + if (this.method == 'get') + this.url += (this.url.include('?') ? '&' : '?') + params; + else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) + params += '&_='; + } + + try { + var response = new Ajax.Response(this); + if (this.options.onCreate) this.options.onCreate(response); + Ajax.Responders.dispatch('onCreate', this, response); + + this.transport.open(this.method.toUpperCase(), this.url, + this.options.asynchronous); + + if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1); + + this.transport.onreadystatechange = this.onStateChange.bind(this); + this.setRequestHeaders(); + + this.body = this.method == 'post' ? (this.options.postBody || params) : null; + this.transport.send(this.body); + + /* Force Firefox to handle ready state 4 for synchronous requests */ + if (!this.options.asynchronous && this.transport.overrideMimeType) + this.onStateChange(); + + } + catch (e) { + this.dispatchException(e); + } + }, + + onStateChange: function() { + var readyState = this.transport.readyState; + if (readyState > 1 && !((readyState == 4) && this._complete)) + this.respondToReadyState(this.transport.readyState); + }, + + setRequestHeaders: function() { + var headers = { + 'X-Requested-With': 'XMLHttpRequest', + 'X-Prototype-Version': Prototype.Version, + 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' + }; + + if (this.method == 'post') { + headers['Content-type'] = this.options.contentType + + (this.options.encoding ? '; charset=' + this.options.encoding : ''); + + /* Force "Connection: close" for older Mozilla browsers to work + * around a bug where XMLHttpRequest sends an incorrect + * Content-length header. See Mozilla Bugzilla #246651. + */ + if (this.transport.overrideMimeType && + (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) + headers['Connection'] = 'close'; + } + + // user-defined headers + if (typeof this.options.requestHeaders == 'object') { + var extras = this.options.requestHeaders; + + if (Object.isFunction(extras.push)) + for (var i = 0, length = extras.length; i < length; i += 2) + headers[extras[i]] = extras[i+1]; + else + $H(extras).each(function(pair) { headers[pair.key] = pair.value }); + } + + for (var name in headers) + this.transport.setRequestHeader(name, headers[name]); + }, + + success: function() { + var status = this.getStatus(); + return !status || (status >= 200 && status < 300); + }, + + getStatus: function() { + try { + return this.transport.status || 0; + } catch (e) { return 0 } + }, + + respondToReadyState: function(readyState) { + var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this); + + if (state == 'Complete') { + try { + this._complete = true; + (this.options['on' + response.status] + || this.options['on' + (this.success() ? 'Success' : 'Failure')] + || Prototype.emptyFunction)(response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + var contentType = response.getHeader('Content-type'); + if (this.options.evalJS == 'force' + || (this.options.evalJS && contentType + && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))) + this.evalResponse(); + } + + try { + (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON); + Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + if (state == 'Complete') { + // avoid memory leak in MSIE: clean up + this.transport.onreadystatechange = Prototype.emptyFunction; + } + }, + + getHeader: function(name) { + try { + return this.transport.getResponseHeader(name); + } catch (e) { return null } + }, + + evalResponse: function() { + try { + return eval((this.transport.responseText || '').unfilterJSON()); + } catch (e) { + this.dispatchException(e); + } + }, + + dispatchException: function(exception) { + (this.options.onException || Prototype.emptyFunction)(this, exception); + Ajax.Responders.dispatch('onException', this, exception); + } +}); + +Ajax.Request.Events = + ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; + +Ajax.Response = Class.create({ + initialize: function(request){ + this.request = request; + var transport = this.transport = request.transport, + readyState = this.readyState = transport.readyState; + + if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) { + this.status = this.getStatus(); + this.statusText = this.getStatusText(); + this.responseText = String.interpret(transport.responseText); + this.headerJSON = this._getHeaderJSON(); + } + + if(readyState == 4) { + var xml = transport.responseXML; + this.responseXML = xml === undefined ? null : xml; + this.responseJSON = this._getResponseJSON(); + } + }, + + status: 0, + statusText: '', + + getStatus: Ajax.Request.prototype.getStatus, + + getStatusText: function() { + try { + return this.transport.statusText || ''; + } catch (e) { return '' } + }, + + getHeader: Ajax.Request.prototype.getHeader, + + getAllHeaders: function() { + try { + return this.getAllResponseHeaders(); + } catch (e) { return null } + }, + + getResponseHeader: function(name) { + return this.transport.getResponseHeader(name); + }, + + getAllResponseHeaders: function() { + return this.transport.getAllResponseHeaders(); + }, + + _getHeaderJSON: function() { + var json = this.getHeader('X-JSON'); + if (!json) return null; + json = decodeURIComponent(escape(json)); + try { + return json.evalJSON(this.request.options.sanitizeJSON); + } catch (e) { + this.request.dispatchException(e); + } + }, + + _getResponseJSON: function() { + var options = this.request.options; + if (!options.evalJSON || (options.evalJSON != 'force' && + !(this.getHeader('Content-type') || '').include('application/json'))) + return null; + try { + return this.transport.responseText.evalJSON(options.sanitizeJSON); + } catch (e) { + this.request.dispatchException(e); + } + } +}); + +Ajax.Updater = Class.create(Ajax.Request, { + initialize: function($super, container, url, options) { + this.container = { + success: (container.success || container), + failure: (container.failure || (container.success ? null : container)) + }; + + options = options || { }; + var onComplete = options.onComplete; + options.onComplete = (function(response, param) { + this.updateContent(response.responseText); + if (Object.isFunction(onComplete)) onComplete(response, param); + }).bind(this); + + $super(url, options); + }, + + updateContent: function(responseText) { + var receiver = this.container[this.success() ? 'success' : 'failure'], + options = this.options; + + if (!options.evalScripts) responseText = responseText.stripScripts(); + + if (receiver = $(receiver)) { + if (options.insertion) { + if (Object.isString(options.insertion)) { + var insertion = { }; insertion[options.insertion] = responseText; + receiver.insert(insertion); + } + else options.insertion(receiver, responseText); + } + else receiver.update(responseText); + } + + if (this.success()) { + if (this.onComplete) this.onComplete.bind(this).defer(); + } + } +}); + +Ajax.PeriodicalUpdater = Class.create(Ajax.Base, { + initialize: function($super, container, url, options) { + $super(options); + this.onComplete = this.options.onComplete; + + this.frequency = (this.options.frequency || 2); + this.decay = (this.options.decay || 1); + + this.updater = { }; + this.container = container; + this.url = url; + + this.start(); + }, + + start: function() { + this.options.onComplete = this.updateComplete.bind(this); + this.onTimerEvent(); + }, + + stop: function() { + this.updater.options.onComplete = undefined; + clearTimeout(this.timer); + (this.onComplete || Prototype.emptyFunction).apply(this, arguments); + }, + + updateComplete: function(response) { + if (this.options.decay) { + this.decay = (response.responseText == this.lastText ? + this.decay * this.options.decay : 1); + + this.lastText = response.responseText; + } + this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency); + }, + + onTimerEvent: function() { + this.updater = new Ajax.Updater(this.container, this.url, this.options); + } +}); +function $(element) { + if (arguments.length > 1) { + for (var i = 0, elements = [], length = arguments.length; i < length; i++) + elements.push($(arguments[i])); + return elements; + } + if (Object.isString(element)) + element = document.getElementById(element); + return Element.extend(element); +} + +if (Prototype.BrowserFeatures.XPath) { + document._getElementsByXPath = function(expression, parentElement) { + var results = []; + var query = document.evaluate(expression, $(parentElement) || document, + null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); + for (var i = 0, length = query.snapshotLength; i < length; i++) + results.push(Element.extend(query.snapshotItem(i))); + return results; + }; +} + +/*--------------------------------------------------------------------------*/ + +if (!window.Node) var Node = { }; + +if (!Node.ELEMENT_NODE) { + // DOM level 2 ECMAScript Language Binding + Object.extend(Node, { + ELEMENT_NODE: 1, + ATTRIBUTE_NODE: 2, + TEXT_NODE: 3, + CDATA_SECTION_NODE: 4, + ENTITY_REFERENCE_NODE: 5, + ENTITY_NODE: 6, + PROCESSING_INSTRUCTION_NODE: 7, + COMMENT_NODE: 8, + DOCUMENT_NODE: 9, + DOCUMENT_TYPE_NODE: 10, + DOCUMENT_FRAGMENT_NODE: 11, + NOTATION_NODE: 12 + }); +} + +(function() { + var element = this.Element; + this.Element = function(tagName, attributes) { + attributes = attributes || { }; + tagName = tagName.toLowerCase(); + var cache = Element.cache; + if (Prototype.Browser.IE && attributes.name) { + tagName = '<' + tagName + ' name="' + attributes.name + '">'; + delete attributes.name; + return Element.writeAttribute(document.createElement(tagName), attributes); + } + if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName)); + return Element.writeAttribute(cache[tagName].cloneNode(false), attributes); + }; + Object.extend(this.Element, element || { }); +}).call(window); + +Element.cache = { }; + +Element.Methods = { + visible: function(element) { + return $(element).style.display != 'none'; + }, + + toggle: function(element) { + element = $(element); + Element[Element.visible(element) ? 'hide' : 'show'](element); + return element; + }, + + hide: function(element) { + $(element).style.display = 'none'; + return element; + }, + + show: function(element) { + $(element).style.display = ''; + return element; + }, + + remove: function(element) { + element = $(element); + element.parentNode.removeChild(element); + return element; + }, + + update: function(element, content) { + element = $(element); + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) return element.update().insert(content); + content = Object.toHTML(content); + element.innerHTML = content.stripScripts(); + content.evalScripts.bind(content).defer(); + return element; + }, + + replace: function(element, content) { + element = $(element); + if (content && content.toElement) content = content.toElement(); + else if (!Object.isElement(content)) { + content = Object.toHTML(content); + var range = element.ownerDocument.createRange(); + range.selectNode(element); + content.evalScripts.bind(content).defer(); + content = range.createContextualFragment(content.stripScripts()); + } + element.parentNode.replaceChild(content, element); + return element; + }, + + insert: function(element, insertions) { + element = $(element); + + if (Object.isString(insertions) || Object.isNumber(insertions) || + Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) + insertions = {bottom:insertions}; + + var content, t, range; + + for (position in insertions) { + content = insertions[position]; + position = position.toLowerCase(); + t = Element._insertionTranslations[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + t.insert(element, content); + continue; + } + + content = Object.toHTML(content); + + range = element.ownerDocument.createRange(); + t.initializeRange(element, range); + t.insert(element, range.createContextualFragment(content.stripScripts())); + + content.evalScripts.bind(content).defer(); + } + + return element; + }, + + wrap: function(element, wrapper, attributes) { + element = $(element); + if (Object.isElement(wrapper)) + $(wrapper).writeAttribute(attributes || { }); + else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes); + else wrapper = new Element('div', wrapper); + if (element.parentNode) + element.parentNode.replaceChild(wrapper, element); + wrapper.appendChild(element); + return wrapper; + }, + + inspect: function(element) { + element = $(element); + var result = '<' + element.tagName.toLowerCase(); + $H({'id': 'id', 'className': 'class'}).each(function(pair) { + var property = pair.first(), attribute = pair.last(); + var value = (element[property] || '').toString(); + if (value) result += ' ' + attribute + '=' + value.inspect(true); + }); + return result + '>'; + }, + + recursivelyCollect: function(element, property) { + element = $(element); + var elements = []; + while (element = element[property]) + if (element.nodeType == 1) + elements.push(Element.extend(element)); + return elements; + }, + + ancestors: function(element) { + return $(element).recursivelyCollect('parentNode'); + }, + + descendants: function(element) { + return $A($(element).getElementsByTagName('*')).each(Element.extend); + }, + + firstDescendant: function(element) { + element = $(element).firstChild; + while (element && element.nodeType != 1) element = element.nextSibling; + return $(element); + }, + + immediateDescendants: function(element) { + if (!(element = $(element).firstChild)) return []; + while (element && element.nodeType != 1) element = element.nextSibling; + if (element) return [element].concat($(element).nextSiblings()); + return []; + }, + + previousSiblings: function(element) { + return $(element).recursivelyCollect('previousSibling'); + }, + + nextSiblings: function(element) { + return $(element).recursivelyCollect('nextSibling'); + }, + + siblings: function(element) { + element = $(element); + return element.previousSiblings().reverse().concat(element.nextSiblings()); + }, + + match: function(element, selector) { + if (Object.isString(selector)) + selector = new Selector(selector); + return selector.match($(element)); + }, + + up: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(element.parentNode); + var ancestors = element.ancestors(); + return expression ? Selector.findElement(ancestors, expression, index) : + ancestors[index || 0]; + }, + + down: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return element.firstDescendant(); + var descendants = element.descendants(); + return expression ? Selector.findElement(descendants, expression, index) : + descendants[index || 0]; + }, + + previous: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element)); + var previousSiblings = element.previousSiblings(); + return expression ? Selector.findElement(previousSiblings, expression, index) : + previousSiblings[index || 0]; + }, + + next: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element)); + var nextSiblings = element.nextSiblings(); + return expression ? Selector.findElement(nextSiblings, expression, index) : + nextSiblings[index || 0]; + }, + + select: function() { + var args = $A(arguments), element = $(args.shift()); + return Selector.findChildElements(element, args); + }, + + adjacent: function() { + var args = $A(arguments), element = $(args.shift()); + return Selector.findChildElements(element.parentNode, args).without(element); + }, + + identify: function(element) { + element = $(element); + var id = element.readAttribute('id'), self = arguments.callee; + if (id) return id; + do { id = 'anonymous_element_' + self.counter++ } while ($(id)); + element.writeAttribute('id', id); + return id; + }, + + readAttribute: function(element, name) { + element = $(element); + if (Prototype.Browser.IE) { + var t = Element._attributeTranslations.read; + if (t.values[name]) return t.values[name](element, name); + if (t.names[name]) name = t.names[name]; + if (name.include(':')) { + return (!element.attributes || !element.attributes[name]) ? null : + element.attributes[name].value; + } + } + return element.getAttribute(name); + }, + + writeAttribute: function(element, name, value) { + element = $(element); + var attributes = { }, t = Element._attributeTranslations.write; + + if (typeof name == 'object') attributes = name; + else attributes[name] = value === undefined ? true : value; + + for (var attr in attributes) { + var name = t.names[attr] || attr, value = attributes[attr]; + if (t.values[attr]) name = t.values[attr](element, value); + if (value === false || value === null) + element.removeAttribute(name); + else if (value === true) + element.setAttribute(name, name); + else element.setAttribute(name, value); + } + return element; + }, + + getHeight: function(element) { + return $(element).getDimensions().height; + }, + + getWidth: function(element) { + return $(element).getDimensions().width; + }, + + classNames: function(element) { + return new Element.ClassNames(element); + }, + + hasClassName: function(element, className) { + if (!(element = $(element))) return; + var elementClassName = element.className; + return (elementClassName.length > 0 && (elementClassName == className || + new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName))); + }, + + addClassName: function(element, className) { + if (!(element = $(element))) return; + if (!element.hasClassName(className)) + element.className += (element.className ? ' ' : '') + className; + return element; + }, + + removeClassName: function(element, className) { + if (!(element = $(element))) return; + element.className = element.className.replace( + new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip(); + return element; + }, + + toggleClassName: function(element, className) { + if (!(element = $(element))) return; + return element[element.hasClassName(className) ? + 'removeClassName' : 'addClassName'](className); + }, + + // removes whitespace-only text node children + cleanWhitespace: function(element) { + element = $(element); + var node = element.firstChild; + while (node) { + var nextNode = node.nextSibling; + if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) + element.removeChild(node); + node = nextNode; + } + return element; + }, + + empty: function(element) { + return $(element).innerHTML.blank(); + }, + + descendantOf: function(element, ancestor) { + element = $(element), ancestor = $(ancestor); + + if (element.compareDocumentPosition) + return (element.compareDocumentPosition(ancestor) & 8) === 8; + + if (element.sourceIndex && !Prototype.Browser.Opera) { + var e = element.sourceIndex, a = ancestor.sourceIndex, + nextAncestor = ancestor.nextSibling; + if (!nextAncestor) { + do { ancestor = ancestor.parentNode; } + while (!(nextAncestor = ancestor.nextSibling) && ancestor.parentNode); + } + if (nextAncestor) return (e > a && e < nextAncestor.sourceIndex); + } + + while (element = element.parentNode) + if (element == ancestor) return true; + return false; + }, + + scrollTo: function(element) { + element = $(element); + var pos = element.cumulativeOffset(); + window.scrollTo(pos[0], pos[1]); + return element; + }, + + getStyle: function(element, style) { + element = $(element); + style = style == 'float' ? 'cssFloat' : style.camelize(); + var value = element.style[style]; + if (!value) { + var css = document.defaultView.getComputedStyle(element, null); + value = css ? css[style] : null; + } + if (style == 'opacity') return value ? parseFloat(value) : 1.0; + return value == 'auto' ? null : value; + }, + + getOpacity: function(element) { + return $(element).getStyle('opacity'); + }, + + setStyle: function(element, styles) { + element = $(element); + var elementStyle = element.style, match; + if (Object.isString(styles)) { + element.style.cssText += ';' + styles; + return styles.include('opacity') ? + element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element; + } + for (var property in styles) + if (property == 'opacity') element.setOpacity(styles[property]); + else + elementStyle[(property == 'float' || property == 'cssFloat') ? + (elementStyle.styleFloat === undefined ? 'cssFloat' : 'styleFloat') : + property] = styles[property]; + + return element; + }, + + setOpacity: function(element, value) { + element = $(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + return element; + }, + + getDimensions: function(element) { + element = $(element); + var display = $(element).getStyle('display'); + if (display != 'none' && display != null) // Safari bug + return {width: element.offsetWidth, height: element.offsetHeight}; + + // All *Width and *Height properties give 0 on elements with display none, + // so enable the element temporarily + var els = element.style; + var originalVisibility = els.visibility; + var originalPosition = els.position; + var originalDisplay = els.display; + els.visibility = 'hidden'; + els.position = 'absolute'; + els.display = 'block'; + var originalWidth = element.clientWidth; + var originalHeight = element.clientHeight; + els.display = originalDisplay; + els.position = originalPosition; + els.visibility = originalVisibility; + return {width: originalWidth, height: originalHeight}; + }, + + makePositioned: function(element) { + element = $(element); + var pos = Element.getStyle(element, 'position'); + if (pos == 'static' || !pos) { + element._madePositioned = true; + element.style.position = 'relative'; + // Opera returns the offset relative to the positioning context, when an + // element is position relative but top and left have not been defined + if (window.opera) { + element.style.top = 0; + element.style.left = 0; + } + } + return element; + }, + + undoPositioned: function(element) { + element = $(element); + if (element._madePositioned) { + element._madePositioned = undefined; + element.style.position = + element.style.top = + element.style.left = + element.style.bottom = + element.style.right = ''; + } + return element; + }, + + makeClipping: function(element) { + element = $(element); + if (element._overflow) return element; + element._overflow = Element.getStyle(element, 'overflow') || 'auto'; + if (element._overflow !== 'hidden') + element.style.overflow = 'hidden'; + return element; + }, + + undoClipping: function(element) { + element = $(element); + if (!element._overflow) return element; + element.style.overflow = element._overflow == 'auto' ? '' : element._overflow; + element._overflow = null; + return element; + }, + + cumulativeOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + positionedOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + if (element) { + if (element.tagName == 'BODY') break; + var p = Element.getStyle(element, 'position'); + if (p == 'relative' || p == 'absolute') break; + } + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + absolutize: function(element) { + element = $(element); + if (element.getStyle('position') == 'absolute') return; + // Position.prepare(); // To be done manually by Scripty when it needs it. + + var offsets = element.positionedOffset(); + var top = offsets[1]; + var left = offsets[0]; + var width = element.clientWidth; + var height = element.clientHeight; + + element._originalLeft = left - parseFloat(element.style.left || 0); + element._originalTop = top - parseFloat(element.style.top || 0); + element._originalWidth = element.style.width; + element._originalHeight = element.style.height; + + element.style.position = 'absolute'; + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.width = width + 'px'; + element.style.height = height + 'px'; + return element; + }, + + relativize: function(element) { + element = $(element); + if (element.getStyle('position') == 'relative') return; + // Position.prepare(); // To be done manually by Scripty when it needs it. + + element.style.position = 'relative'; + var top = parseFloat(element.style.top || 0) - (element._originalTop || 0); + var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0); + + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.height = element._originalHeight; + element.style.width = element._originalWidth; + return element; + }, + + cumulativeScrollOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.scrollTop || 0; + valueL += element.scrollLeft || 0; + element = element.parentNode; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + getOffsetParent: function(element) { + if (element.offsetParent) return $(element.offsetParent); + if (element == document.body) return $(element); + + while ((element = element.parentNode) && element != document.body) + if (Element.getStyle(element, 'position') != 'static') + return $(element); + + return $(document.body); + }, + + viewportOffset: function(forElement) { + var valueT = 0, valueL = 0; + + var element = forElement; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + + // Safari fix + if (element.offsetParent == document.body && + Element.getStyle(element, 'position') == 'absolute') break; + + } while (element = element.offsetParent); + + element = forElement; + do { + if (!Prototype.Browser.Opera || element.tagName == 'BODY') { + valueT -= element.scrollTop || 0; + valueL -= element.scrollLeft || 0; + } + } while (element = element.parentNode); + + return Element._returnOffset(valueL, valueT); + }, + + clonePosition: function(element, source) { + var options = Object.extend({ + setLeft: true, + setTop: true, + setWidth: true, + setHeight: true, + offsetTop: 0, + offsetLeft: 0 + }, arguments[2] || { }); + + // find page position of source + source = $(source); + var p = source.viewportOffset(); + + // find coordinate system to use + element = $(element); + var delta = [0, 0]; + var parent = null; + // delta [0,0] will do fine with position: fixed elements, + // position:absolute needs offsetParent deltas + if (Element.getStyle(element, 'position') == 'absolute') { + parent = element.getOffsetParent(); + delta = parent.viewportOffset(); + } + + // correct by body offsets (fixes Safari) + if (parent == document.body) { + delta[0] -= document.body.offsetLeft; + delta[1] -= document.body.offsetTop; + } + + // set position + if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; + if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px'; + if (options.setWidth) element.style.width = source.offsetWidth + 'px'; + if (options.setHeight) element.style.height = source.offsetHeight + 'px'; + return element; + } +}; + +Element.Methods.identify.counter = 1; + +Object.extend(Element.Methods, { + getElementsBySelector: Element.Methods.select, + childElements: Element.Methods.immediateDescendants +}); + +Element._attributeTranslations = { + write: { + names: { + className: 'class', + htmlFor: 'for' + }, + values: { } + } +}; + + +if (!document.createRange || Prototype.Browser.Opera) { + Element.Methods.insert = function(element, insertions) { + element = $(element); + + if (Object.isString(insertions) || Object.isNumber(insertions) || + Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) + insertions = { bottom: insertions }; + + var t = Element._insertionTranslations, content, position, pos, tagName; + + for (position in insertions) { + content = insertions[position]; + position = position.toLowerCase(); + pos = t[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + pos.insert(element, content); + continue; + } + + content = Object.toHTML(content); + tagName = ((position == 'before' || position == 'after') + ? element.parentNode : element).tagName.toUpperCase(); + + if (t.tags[tagName]) { + var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + if (position == 'top' || position == 'after') fragments.reverse(); + fragments.each(pos.insert.curry(element)); + } + else element.insertAdjacentHTML(pos.adjacency, content.stripScripts()); + + content.evalScripts.bind(content).defer(); + } + + return element; + }; +} + +if (Prototype.Browser.Opera) { + Element.Methods._getStyle = Element.Methods.getStyle; + Element.Methods.getStyle = function(element, style) { + switch(style) { + case 'left': + case 'top': + case 'right': + case 'bottom': + if (Element._getStyle(element, 'position') == 'static') return null; + default: return Element._getStyle(element, style); + } + }; + Element.Methods._readAttribute = Element.Methods.readAttribute; + Element.Methods.readAttribute = function(element, attribute) { + if (attribute == 'title') return element.title; + return Element._readAttribute(element, attribute); + }; +} + +else if (Prototype.Browser.IE) { + $w('positionedOffset getOffsetParent viewportOffset').each(function(method) { + Element.Methods[method] = Element.Methods[method].wrap( + function(proceed, element) { + element = $(element); + var position = element.getStyle('position'); + if (position != 'static') return proceed(element); + element.setStyle({ position: 'relative' }); + var value = proceed(element); + element.setStyle({ position: position }); + return value; + } + ); + }); + + Element.Methods.getStyle = function(element, style) { + element = $(element); + style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize(); + var value = element.style[style]; + if (!value && element.currentStyle) value = element.currentStyle[style]; + + if (style == 'opacity') { + if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/)) + if (value[1]) return parseFloat(value[1]) / 100; + return 1.0; + } + + if (value == 'auto') { + if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none')) + return element['offset' + style.capitalize()] + 'px'; + return null; + } + return value; + }; + + Element.Methods.setOpacity = function(element, value) { + function stripAlpha(filter){ + return filter.replace(/alpha\([^\)]*\)/gi,''); + } + element = $(element); + var currentStyle = element.currentStyle; + if ((currentStyle && !currentStyle.hasLayout) || + (!currentStyle && element.style.zoom == 'normal')) + element.style.zoom = 1; + + var filter = element.getStyle('filter'), style = element.style; + if (value == 1 || value === '') { + (filter = stripAlpha(filter)) ? + style.filter = filter : style.removeAttribute('filter'); + return element; + } else if (value < 0.00001) value = 0; + style.filter = stripAlpha(filter) + + 'alpha(opacity=' + (value * 100) + ')'; + return element; + }; + + Element._attributeTranslations = { + read: { + names: { + 'class': 'className', + 'for': 'htmlFor' + }, + values: { + _getAttr: function(element, attribute) { + return element.getAttribute(attribute, 2); + }, + _getAttrNode: function(element, attribute) { + var node = element.getAttributeNode(attribute); + return node ? node.value : ""; + }, + _getEv: function(element, attribute) { + var attribute = element.getAttribute(attribute); + return attribute ? attribute.toString().slice(23, -2) : null; + }, + _flag: function(element, attribute) { + return $(element).hasAttribute(attribute) ? attribute : null; + }, + style: function(element) { + return element.style.cssText.toLowerCase(); + }, + title: function(element) { + return element.title; + } + } + } + }; + + Element._attributeTranslations.write = { + names: Object.clone(Element._attributeTranslations.read.names), + values: { + checked: function(element, value) { + element.checked = !!value; + }, + + style: function(element, value) { + element.style.cssText = value ? value : ''; + } + } + }; + + Element._attributeTranslations.has = {}; + + $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' + + 'encType maxLength readOnly longDesc').each(function(attr) { + Element._attributeTranslations.write.names[attr.toLowerCase()] = attr; + Element._attributeTranslations.has[attr.toLowerCase()] = attr; + }); + + (function(v) { + Object.extend(v, { + href: v._getAttr, + src: v._getAttr, + type: v._getAttr, + action: v._getAttrNode, + disabled: v._flag, + checked: v._flag, + readonly: v._flag, + multiple: v._flag, + onload: v._getEv, + onunload: v._getEv, + onclick: v._getEv, + ondblclick: v._getEv, + onmousedown: v._getEv, + onmouseup: v._getEv, + onmouseover: v._getEv, + onmousemove: v._getEv, + onmouseout: v._getEv, + onfocus: v._getEv, + onblur: v._getEv, + onkeypress: v._getEv, + onkeydown: v._getEv, + onkeyup: v._getEv, + onsubmit: v._getEv, + onreset: v._getEv, + onselect: v._getEv, + onchange: v._getEv + }); + })(Element._attributeTranslations.read.values); +} + +else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) { + Element.Methods.setOpacity = function(element, value) { + element = $(element); + element.style.opacity = (value == 1) ? 0.999999 : + (value === '') ? '' : (value < 0.00001) ? 0 : value; + return element; + }; +} + +else if (Prototype.Browser.WebKit) { + Element.Methods.setOpacity = function(element, value) { + element = $(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + + if (value == 1) + if(element.tagName == 'IMG' && element.width) { + element.width++; element.width--; + } else try { + var n = document.createTextNode(' '); + element.appendChild(n); + element.removeChild(n); + } catch (e) { } + + return element; + }; + + // Safari returns margins on body which is incorrect if the child is absolutely + // positioned. For performance reasons, redefine Position.cumulativeOffset for + // KHTML/WebKit only. + Element.Methods.cumulativeOffset = function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + if (element.offsetParent == document.body) + if (Element.getStyle(element, 'position') == 'absolute') break; + + element = element.offsetParent; + } while (element); + + return Element._returnOffset(valueL, valueT); + }; +} + +if (Prototype.Browser.IE || Prototype.Browser.Opera) { + // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements + Element.Methods.update = function(element, content) { + element = $(element); + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) return element.update().insert(content); + + content = Object.toHTML(content); + var tagName = element.tagName.toUpperCase(); + + if (tagName in Element._insertionTranslations.tags) { + $A(element.childNodes).each(function(node) { element.removeChild(node) }); + Element._getContentFromAnonymousElement(tagName, content.stripScripts()) + .each(function(node) { element.appendChild(node) }); + } + else element.innerHTML = content.stripScripts(); + + content.evalScripts.bind(content).defer(); + return element; + }; +} + +if (document.createElement('div').outerHTML) { + Element.Methods.replace = function(element, content) { + element = $(element); + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + element.parentNode.replaceChild(content, element); + return element; + } + + content = Object.toHTML(content); + var parent = element.parentNode, tagName = parent.tagName.toUpperCase(); + + if (Element._insertionTranslations.tags[tagName]) { + var nextSibling = element.next(); + var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + parent.removeChild(element); + if (nextSibling) + fragments.each(function(node) { parent.insertBefore(node, nextSibling) }); + else + fragments.each(function(node) { parent.appendChild(node) }); + } + else element.outerHTML = content.stripScripts(); + + content.evalScripts.bind(content).defer(); + return element; + }; +} + +Element._returnOffset = function(l, t) { + var result = [l, t]; + result.left = l; + result.top = t; + return result; +}; + +Element._getContentFromAnonymousElement = function(tagName, html) { + var div = new Element('div'), t = Element._insertionTranslations.tags[tagName]; + div.innerHTML = t[0] + html + t[1]; + t[2].times(function() { div = div.firstChild }); + return $A(div.childNodes); +}; + +Element._insertionTranslations = { + before: { + adjacency: 'beforeBegin', + insert: function(element, node) { + element.parentNode.insertBefore(node, element); + }, + initializeRange: function(element, range) { + range.setStartBefore(element); + } + }, + top: { + adjacency: 'afterBegin', + insert: function(element, node) { + element.insertBefore(node, element.firstChild); + }, + initializeRange: function(element, range) { + range.selectNodeContents(element); + range.collapse(true); + } + }, + bottom: { + adjacency: 'beforeEnd', + insert: function(element, node) { + element.appendChild(node); + } + }, + after: { + adjacency: 'afterEnd', + insert: function(element, node) { + element.parentNode.insertBefore(node, element.nextSibling); + }, + initializeRange: function(element, range) { + range.setStartAfter(element); + } + }, + tags: { + TABLE: ['<table>', '</table>', 1], + TBODY: ['<table><tbody>', '</tbody></table>', 2], + TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3], + TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4], + SELECT: ['<select>', '</select>', 1] + } +}; + +(function() { + this.bottom.initializeRange = this.top.initializeRange; + Object.extend(this.tags, { + THEAD: this.tags.TBODY, + TFOOT: this.tags.TBODY, + TH: this.tags.TD + }); +}).call(Element._insertionTranslations); + +Element.Methods.Simulated = { + hasAttribute: function(element, attribute) { + attribute = Element._attributeTranslations.has[attribute] || attribute; + var node = $(element).getAttributeNode(attribute); + return node && node.specified; + } +}; + +Element.Methods.ByTag = { }; + +Object.extend(Element, Element.Methods); + +if (!Prototype.BrowserFeatures.ElementExtensions && + document.createElement('div').__proto__) { + window.HTMLElement = { }; + window.HTMLElement.prototype = document.createElement('div').__proto__; + Prototype.BrowserFeatures.ElementExtensions = true; +} + +Element.extend = (function() { + if (Prototype.BrowserFeatures.SpecificElementExtensions) + return Prototype.K; + + var Methods = { }, ByTag = Element.Methods.ByTag; + + var extend = Object.extend(function(element) { + if (!element || element._extendedByPrototype || + element.nodeType != 1 || element == window) return element; + + var methods = Object.clone(Methods), + tagName = element.tagName, property, value; + + // extend methods for specific tags + if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]); + + for (property in methods) { + value = methods[property]; + if (Object.isFunction(value) && !(property in element)) + element[property] = value.methodize(); + } + + element._extendedByPrototype = Prototype.emptyFunction; + return element; + + }, { + refresh: function() { + // extend methods for all tags (Safari doesn't need this) + if (!Prototype.BrowserFeatures.ElementExtensions) { + Object.extend(Methods, Element.Methods); + Object.extend(Methods, Element.Methods.Simulated); + } + } + }); + + extend.refresh(); + return extend; +})(); + +Element.hasAttribute = function(element, attribute) { + if (element.hasAttribute) return element.hasAttribute(attribute); + return Element.Methods.Simulated.hasAttribute(element, attribute); +}; + +Element.addMethods = function(methods) { + var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag; + + if (!methods) { + Object.extend(Form, Form.Methods); + Object.extend(Form.Element, Form.Element.Methods); + Object.extend(Element.Methods.ByTag, { + "FORM": Object.clone(Form.Methods), + "INPUT": Object.clone(Form.Element.Methods), + "SELECT": Object.clone(Form.Element.Methods), + "TEXTAREA": Object.clone(Form.Element.Methods) + }); + } + + if (arguments.length == 2) { + var tagName = methods; + methods = arguments[1]; + } + + if (!tagName) Object.extend(Element.Methods, methods || { }); + else { + if (Object.isArray(tagName)) tagName.each(extend); + else extend(tagName); + } + + function extend(tagName) { + tagName = tagName.toUpperCase(); + if (!Element.Methods.ByTag[tagName]) + Element.Methods.ByTag[tagName] = { }; + Object.extend(Element.Methods.ByTag[tagName], methods); + } + + function copy(methods, destination, onlyIfAbsent) { + onlyIfAbsent = onlyIfAbsent || false; + for (var property in methods) { + var value = methods[property]; + if (!Object.isFunction(value)) continue; + if (!onlyIfAbsent || !(property in destination)) + destination[property] = value.methodize(); + } + } + + function findDOMClass(tagName) { + var klass; + var trans = { + "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", + "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList", + "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading", + "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", + "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION": + "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD": + "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR": + "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": + "FrameSet", "IFRAME": "IFrame" + }; + if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName.capitalize() + 'Element'; + if (window[klass]) return window[klass]; + + window[klass] = { }; + window[klass].prototype = document.createElement(tagName).__proto__; + return window[klass]; + } + + if (F.ElementExtensions) { + copy(Element.Methods, HTMLElement.prototype); + copy(Element.Methods.Simulated, HTMLElement.prototype, true); + } + + if (F.SpecificElementExtensions) { + for (var tag in Element.Methods.ByTag) { + var klass = findDOMClass(tag); + if (Object.isUndefined(klass)) continue; + copy(T[tag], klass.prototype); + } + } + + Object.extend(Element, Element.Methods); + delete Element.ByTag; + + if (Element.extend.refresh) Element.extend.refresh(); + Element.cache = { }; +}; + +document.viewport = { + getDimensions: function() { + var dimensions = { }; + $w('width height').each(function(d) { + var D = d.capitalize(); + dimensions[d] = self['inner' + D] || + (document.documentElement['client' + D] || document.body['client' + D]); + }); + return dimensions; + }, + + getWidth: function() { + return this.getDimensions().width; + }, + + getHeight: function() { + return this.getDimensions().height; + }, + + getScrollOffsets: function() { + return Element._returnOffset( + window.pageXOffset || document.scrollingElement.scrollLeft, + window.pageYOffset || document.scrollingElement.scrollTop); + } +}; +/* Portions of the Selector class are derived from Jack Slocum’s DomQuery, + * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style + * license. Please see http://www.yui-ext.com/ for more information. */ + +var Selector = Class.create({ + initialize: function(expression) { + this.expression = expression.strip(); + this.compileMatcher(); + }, + + compileMatcher: function() { + // Selectors with namespaced attributes can't use the XPath version + if (Prototype.BrowserFeatures.XPath && !(/(\[[\w-]*?:|:checked)/).test(this.expression)) + return this.compileXPathMatcher(); + + var e = this.expression, ps = Selector.patterns, h = Selector.handlers, + c = Selector.criteria, le, p, m; + + if (Selector._cache[e]) { + this.matcher = Selector._cache[e]; + return; + } + + this.matcher = ["this.matcher = function(root) {", + "var r = root, h = Selector.handlers, c = false, n;"]; + + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + p = ps[i]; + if (m = e.match(p)) { + this.matcher.push(Object.isFunction(c[i]) ? c[i](m) : + new Template(c[i]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.matcher.push("return h.unique(n);\n}"); + eval(this.matcher.join('\n')); + Selector._cache[this.expression] = this.matcher; + }, + + compileXPathMatcher: function() { + var e = this.expression, ps = Selector.patterns, + x = Selector.xpath, le, m; + + if (Selector._cache[e]) { + this.xpath = Selector._cache[e]; return; + } + + this.matcher = ['.//*']; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + if (m = e.match(ps[i])) { + this.matcher.push(Object.isFunction(x[i]) ? x[i](m) : + new Template(x[i]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.xpath = this.matcher.join(''); + Selector._cache[this.expression] = this.xpath; + }, + + findElements: function(root) { + root = root || document; + if (this.xpath) return document._getElementsByXPath(this.xpath, root); + return this.matcher(root); + }, + + match: function(element) { + this.tokens = []; + + var e = this.expression, ps = Selector.patterns, as = Selector.assertions; + var le, p, m; + + while (e && le !== e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + p = ps[i]; + if (m = e.match(p)) { + // use the Selector.assertions methods unless the selector + // is too complex. + if (as[i]) { + this.tokens.push([i, Object.clone(m)]); + e = e.replace(m[0], ''); + } else { + // reluctantly do a document-wide search + // and look for a match in the array + return this.findElements(document).include(element); + } + } + } + } + + var match = true, name, matches; + for (var i = 0, token; token = this.tokens[i]; i++) { + name = token[0], matches = token[1]; + if (!Selector.assertions[name](element, matches)) { + match = false; break; + } + } + + return match; + }, + + toString: function() { + return this.expression; + }, + + inspect: function() { + return "#<Selector:" + this.expression.inspect() + ">"; + } +}); + +Object.extend(Selector, { + _cache: { }, + + xpath: { + descendant: "//*", + child: "/*", + adjacent: "/following-sibling::*[1]", + laterSibling: '/following-sibling::*', + tagName: function(m) { + if (m[1] == '*') return ''; + return "[local-name()='" + m[1].toLowerCase() + + "' or local-name()='" + m[1].toUpperCase() + "']"; + }, + className: "[contains(concat(' ', @class, ' '), ' #{1} ')]", + id: "[@id='#{1}']", + attrPresence: "[@#{1}]", + attr: function(m) { + m[3] = m[5] || m[6]; + return new Template(Selector.xpath.operators[m[2]]).evaluate(m); + }, + pseudo: function(m) { + var h = Selector.xpath.pseudos[m[1]]; + if (!h) return ''; + if (Object.isFunction(h)) return h(m); + return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m); + }, + operators: { + '=': "[@#{1}='#{3}']", + '!=': "[@#{1}!='#{3}']", + '^=': "[starts-with(@#{1}, '#{3}')]", + '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']", + '*=': "[contains(@#{1}, '#{3}')]", + '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]", + '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]" + }, + pseudos: { + 'first-child': '[not(preceding-sibling::*)]', + 'last-child': '[not(following-sibling::*)]', + 'only-child': '[not(preceding-sibling::* or following-sibling::*)]', + 'empty': "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]", + 'checked': "[@checked]", + 'disabled': "[@disabled]", + 'enabled': "[not(@disabled)]", + 'not': function(m) { + var e = m[6], p = Selector.patterns, + x = Selector.xpath, le, m, v; + + var exclusion = []; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in p) { + if (m = e.match(p[i])) { + v = Object.isFunction(x[i]) ? x[i](m) : new Template(x[i]).evaluate(m); + exclusion.push("(" + v.substring(1, v.length - 1) + ")"); + e = e.replace(m[0], ''); + break; + } + } + } + return "[not(" + exclusion.join(" and ") + ")]"; + }, + 'nth-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m); + }, + 'nth-last-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m); + }, + 'nth-of-type': function(m) { + return Selector.xpath.pseudos.nth("position() ", m); + }, + 'nth-last-of-type': function(m) { + return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m); + }, + 'first-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m); + }, + 'last-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m); + }, + 'only-of-type': function(m) { + var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m); + }, + nth: function(fragment, m) { + var mm, formula = m[6], predicate; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + if (mm = formula.match(/^(\d+)$/)) // digit only + return '[' + fragment + "= " + mm[1] + ']'; + if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (mm[1] == "-") mm[1] = -1; + var a = mm[1] ? Number(mm[1]) : 1; + var b = mm[2] ? Number(mm[2]) : 0; + predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " + + "((#{fragment} - #{b}) div #{a} >= 0)]"; + return new Template(predicate).evaluate({ + fragment: fragment, a: a, b: b }); + } + } + } + }, + + criteria: { + tagName: 'n = h.tagName(n, r, "#{1}", c); c = false;', + className: 'n = h.className(n, r, "#{1}", c); c = false;', + id: 'n = h.id(n, r, "#{1}", c); c = false;', + attrPresence: 'n = h.attrPresence(n, r, "#{1}"); c = false;', + attr: function(m) { + m[3] = (m[5] || m[6]); + return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m); + }, + pseudo: function(m) { + if (m[6]) m[6] = m[6].replace(/"/g, '\\"'); + return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m); + }, + descendant: 'c = "descendant";', + child: 'c = "child";', + adjacent: 'c = "adjacent";', + laterSibling: 'c = "laterSibling";' + }, + + patterns: { + // combinators must be listed first + // (and descendant needs to be last combinator) + laterSibling: /^\s*~\s*/, + child: /^\s*>\s*/, + adjacent: /^\s*\+\s*/, + descendant: /^\s/, + + // selectors follow + tagName: /^\s*(\*|[\w\-]+)(\b|$)?/, + id: /^#([\w\-\*]+)(\b|$)/, + className: /^\.([\w\-\*]+)(\b|$)/, + pseudo: /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s)|(?=:))/, + attrPresence: /^\[([\w]+)\]/, + attr: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/ + }, + + // for Selector.match and Element#match + assertions: { + tagName: function(element, matches) { + return matches[1].toUpperCase() == element.tagName.toUpperCase(); + }, + + className: function(element, matches) { + return Element.hasClassName(element, matches[1]); + }, + + id: function(element, matches) { + return element.id === matches[1]; + }, + + attrPresence: function(element, matches) { + return Element.hasAttribute(element, matches[1]); + }, + + attr: function(element, matches) { + var nodeValue = Element.readAttribute(element, matches[1]); + return Selector.operators[matches[2]](nodeValue, matches[3]); + } + }, + + handlers: { + // UTILITY FUNCTIONS + // joins two collections + concat: function(a, b) { + for (var i = 0, node; node = b[i]; i++) + a.push(node); + return a; + }, + + // marks an array of nodes for counting + mark: function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node._counted = true; + return nodes; + }, + + unmark: function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node._counted = undefined; + return nodes; + }, + + // mark each child node with its position (for nth calls) + // "ofType" flag indicates whether we're indexing for nth-of-type + // rather than nth-child + index: function(parentNode, reverse, ofType) { + parentNode._counted = true; + if (reverse) { + for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) { + var node = nodes[i]; + if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; + } + } else { + for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++) + if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; + } + }, + + // filters out duplicates and extends all nodes + unique: function(nodes) { + if (nodes.length == 0) return nodes; + var results = [], n; + for (var i = 0, l = nodes.length; i < l; i++) + if (!(n = nodes[i])._counted) { + n._counted = true; + results.push(Element.extend(n)); + } + return Selector.handlers.unmark(results); + }, + + // COMBINATOR FUNCTIONS + descendant: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName('*')); + return results; + }, + + child: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) { + for (var j = 0, children = [], child; child = node.childNodes[j]; j++) + if (child.nodeType == 1 && child.tagName != '!') results.push(child); + } + return results; + }, + + adjacent: function(nodes) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + var next = this.nextElementSibling(node); + if (next) results.push(next); + } + return results; + }, + + laterSibling: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, Element.nextSiblings(node)); + return results; + }, + + nextElementSibling: function(node) { + while (node = node.nextSibling) + if (node.nodeType == 1) return node; + return null; + }, + + previousElementSibling: function(node) { + while (node = node.previousSibling) + if (node.nodeType == 1) return node; + return null; + }, + + // TOKEN FUNCTIONS + tagName: function(nodes, root, tagName, combinator) { + tagName = tagName.toUpperCase(); + var results = [], h = Selector.handlers; + if (nodes) { + if (combinator) { + // fastlane for ordinary descendant combinators + if (combinator == "descendant") { + for (var i = 0, node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName(tagName)); + return results; + } else nodes = this[combinator](nodes); + if (tagName == "*") return nodes; + } + for (var i = 0, node; node = nodes[i]; i++) + if (node.tagName.toUpperCase() == tagName) results.push(node); + return results; + } else return root.getElementsByTagName(tagName); + }, + + id: function(nodes, root, id, combinator) { + var targetNode = $(id), h = Selector.handlers; + if (!targetNode) return []; + if (!nodes && root == document) return [targetNode]; + if (nodes) { + if (combinator) { + if (combinator == 'child') { + for (var i = 0, node; node = nodes[i]; i++) + if (targetNode.parentNode == node) return [targetNode]; + } else if (combinator == 'descendant') { + for (var i = 0, node; node = nodes[i]; i++) + if (Element.descendantOf(targetNode, node)) return [targetNode]; + } else if (combinator == 'adjacent') { + for (var i = 0, node; node = nodes[i]; i++) + if (Selector.handlers.previousElementSibling(targetNode) == node) + return [targetNode]; + } else nodes = h[combinator](nodes); + } + for (var i = 0, node; node = nodes[i]; i++) + if (node == targetNode) return [targetNode]; + return []; + } + return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : []; + }, + + className: function(nodes, root, className, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + return Selector.handlers.byClassName(nodes, root, className); + }, + + byClassName: function(nodes, root, className) { + if (!nodes) nodes = Selector.handlers.descendant([root]); + var needle = ' ' + className + ' '; + for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) { + nodeClassName = node.className; + if (nodeClassName.length == 0) continue; + if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle)) + results.push(node); + } + return results; + }, + + attrPresence: function(nodes, root, attr) { + if (!nodes) nodes = root.getElementsByTagName("*"); + var results = []; + for (var i = 0, node; node = nodes[i]; i++) + if (Element.hasAttribute(node, attr)) results.push(node); + return results; + }, + + attr: function(nodes, root, attr, value, operator) { + if (!nodes) nodes = root.getElementsByTagName("*"); + var handler = Selector.operators[operator], results = []; + for (var i = 0, node; node = nodes[i]; i++) { + var nodeValue = Element.readAttribute(node, attr); + if (nodeValue === null) continue; + if (handler(nodeValue, value)) results.push(node); + } + return results; + }, + + pseudo: function(nodes, name, value, root, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + if (!nodes) nodes = root.getElementsByTagName("*"); + return Selector.pseudos[name](nodes, value, root); + } + }, + + pseudos: { + 'first-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.previousElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'last-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.nextElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'only-child': function(nodes, value, root) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!h.previousElementSibling(node) && !h.nextElementSibling(node)) + results.push(node); + return results; + }, + 'nth-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root); + }, + 'nth-last-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true); + }, + 'nth-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, false, true); + }, + 'nth-last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true, true); + }, + 'first-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, false, true); + }, + 'last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, true, true); + }, + 'only-of-type': function(nodes, formula, root) { + var p = Selector.pseudos; + return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root); + }, + + // handles the an+b logic + getIndices: function(a, b, total) { + if (a == 0) return b > 0 ? [b] : []; + return $R(1, total).inject([], function(memo, i) { + if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i); + return memo; + }); + }, + + // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type + nth: function(nodes, formula, root, reverse, ofType) { + if (nodes.length == 0) return []; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + var h = Selector.handlers, results = [], indexed = [], m; + h.mark(nodes); + for (var i = 0, node; node = nodes[i]; i++) { + if (!node.parentNode._counted) { + h.index(node.parentNode, reverse, ofType); + indexed.push(node.parentNode); + } + } + if (formula.match(/^\d+$/)) { // just a number + formula = Number(formula); + for (var i = 0, node; node = nodes[i]; i++) + if (node.nodeIndex == formula) results.push(node); + } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (m[1] == "-") m[1] = -1; + var a = m[1] ? Number(m[1]) : 1; + var b = m[2] ? Number(m[2]) : 0; + var indices = Selector.pseudos.getIndices(a, b, nodes.length); + for (var i = 0, node, l = indices.length; node = nodes[i]; i++) { + for (var j = 0; j < l; j++) + if (node.nodeIndex == indices[j]) results.push(node); + } + } + h.unmark(nodes); + h.unmark(indexed); + return results; + }, + + 'empty': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + // IE treats comments as element nodes + if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue; + results.push(node); + } + return results; + }, + + 'not': function(nodes, selector, root) { + var h = Selector.handlers, selectorType, m; + var exclusions = new Selector(selector).findElements(root); + h.mark(exclusions); + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node._counted) results.push(node); + h.unmark(exclusions); + return results; + }, + + 'enabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node.disabled) results.push(node); + return results; + }, + + 'disabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.disabled) results.push(node); + return results; + }, + + 'checked': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.checked) results.push(node); + return results; + } + }, + + operators: { + '=': function(nv, v) { return nv == v; }, + '!=': function(nv, v) { return nv != v; }, + '^=': function(nv, v) { return nv.startsWith(v); }, + '$=': function(nv, v) { return nv.endsWith(v); }, + '*=': function(nv, v) { return nv.include(v); }, + '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); }, + '|=': function(nv, v) { return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-'); } + }, + + matchElements: function(elements, expression) { + var matches = new Selector(expression).findElements(), h = Selector.handlers; + h.mark(matches); + for (var i = 0, results = [], element; element = elements[i]; i++) + if (element._counted) results.push(element); + h.unmark(matches); + return results; + }, + + findElement: function(elements, expression, index) { + if (Object.isNumber(expression)) { + index = expression; expression = false; + } + return Selector.matchElements(elements, expression || '*')[index || 0]; + }, + + findChildElements: function(element, expressions) { + var exprs = expressions.join(','), expressions = []; + exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) { + expressions.push(m[1].strip()); + }); + var results = [], h = Selector.handlers; + for (var i = 0, l = expressions.length, selector; i < l; i++) { + selector = new Selector(expressions[i].strip()); + h.concat(results, selector.findElements(element)); + } + return (l > 1) ? h.unique(results) : results; + } +}); + +function $$() { + return Selector.findChildElements(document, $A(arguments)); +} +var Form = { + reset: function(form) { + $(form).reset(); + return form; + }, + + serializeElements: function(elements, options) { + if (typeof options != 'object') options = { hash: !!options }; + else if (options.hash === undefined) options.hash = true; + var key, value, submitted = false, submit = options.submit; + + var data = elements.inject({ }, function(result, element) { + if (!element.disabled && element.name) { + key = element.name; value = $(element).getValue(); + if (value != null && (element.type != 'submit' || (!submitted && + submit !== false && (!submit || key == submit) && (submitted = true)))) { + if (key in result) { + // a key is already present; construct an array of values + if (!Object.isArray(result[key])) result[key] = [result[key]]; + result[key].push(value); + } + else result[key] = value; + } + } + return result; + }); + + return options.hash ? data : Object.toQueryString(data); + } +}; + +Form.Methods = { + serialize: function(form, options) { + return Form.serializeElements(Form.getElements(form), options); + }, + + getElements: function(form) { + return $A($(form).getElementsByTagName('*')).inject([], + function(elements, child) { + if (Form.Element.Serializers[child.tagName.toLowerCase()]) + elements.push(Element.extend(child)); + return elements; + } + ); + }, + + getInputs: function(form, typeName, name) { + form = $(form); + var inputs = form.getElementsByTagName('input'); + + if (!typeName && !name) return $A(inputs).map(Element.extend); + + for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) { + var input = inputs[i]; + if ((typeName && input.type != typeName) || (name && input.name != name)) + continue; + matchingInputs.push(Element.extend(input)); + } + + return matchingInputs; + }, + + disable: function(form) { + form = $(form); + Form.getElements(form).invoke('disable'); + return form; + }, + + enable: function(form) { + form = $(form); + Form.getElements(form).invoke('enable'); + return form; + }, + + findFirstElement: function(form) { + var elements = $(form).getElements().findAll(function(element) { + return 'hidden' != element.type && !element.disabled; + }); + var firstByIndex = elements.findAll(function(element) { + return element.hasAttribute('tabIndex') && element.tabIndex >= 0; + }).sortBy(function(element) { return element.tabIndex }).first(); + + return firstByIndex ? firstByIndex : elements.find(function(element) { + return ['input', 'select', 'textarea'].include(element.tagName.toLowerCase()); + }); + }, + + focusFirstElement: function(form) { + form = $(form); + form.findFirstElement().activate(); + return form; + }, + + request: function(form, options) { + form = $(form), options = Object.clone(options || { }); + + var params = options.parameters, action = form.readAttribute('action') || ''; + if (action.blank()) action = window.location.href; + options.parameters = form.serialize(true); + + if (params) { + if (Object.isString(params)) params = params.toQueryParams(); + Object.extend(options.parameters, params); + } + + if (form.hasAttribute('method') && !options.method) + options.method = form.method; + + return new Ajax.Request(action, options); + } +}; + +/*--------------------------------------------------------------------------*/ + +Form.Element = { + focus: function(element) { + $(element).focus(); + return element; + }, + + select: function(element) { + $(element).select(); + return element; + } +}; + +Form.Element.Methods = { + serialize: function(element) { + element = $(element); + if (!element.disabled && element.name) { + var value = element.getValue(); + if (value != undefined) { + var pair = { }; + pair[element.name] = value; + return Object.toQueryString(pair); + } + } + return ''; + }, + + getValue: function(element) { + element = $(element); + var method = element.tagName.toLowerCase(); + return Form.Element.Serializers[method](element); + }, + + setValue: function(element, value) { + element = $(element); + var method = element.tagName.toLowerCase(); + Form.Element.Serializers[method](element, value); + return element; + }, + + clear: function(element) { + $(element).value = ''; + return element; + }, + + present: function(element) { + return $(element).value != ''; + }, + + activate: function(element) { + element = $(element); + try { + element.focus(); + if (element.select && (element.tagName.toLowerCase() != 'input' || + !['button', 'reset', 'submit'].include(element.type))) + element.select(); + } catch (e) { } + return element; + }, + + disable: function(element) { + element = $(element); + element.blur(); + element.disabled = true; + return element; + }, + + enable: function(element) { + element = $(element); + element.disabled = false; + return element; + } +}; + +/*--------------------------------------------------------------------------*/ + +var Field = Form.Element; +var $F = Form.Element.Methods.getValue; + +/*--------------------------------------------------------------------------*/ + +Form.Element.Serializers = { + input: function(element, value) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + return Form.Element.Serializers.inputSelector(element, value); + default: + return Form.Element.Serializers.textarea(element, value); + } + }, + + inputSelector: function(element, value) { + if (value === undefined) return element.checked ? element.value : null; + else element.checked = !!value; + }, + + textarea: function(element, value) { + if (value === undefined) return element.value; + else element.value = value; + }, + + select: function(element, index) { + if (index === undefined) + return this[element.type == 'select-one' ? + 'selectOne' : 'selectMany'](element); + else { + var opt, value, single = !Object.isArray(index); + for (var i = 0, length = element.length; i < length; i++) { + opt = element.options[i]; + value = this.optionValue(opt); + if (single) { + if (value == index) { + opt.selected = true; + return; + } + } + else opt.selected = index.include(value); + } + } + }, + + selectOne: function(element) { + var index = element.selectedIndex; + return index >= 0 ? this.optionValue(element.options[index]) : null; + }, + + selectMany: function(element) { + var values, length = element.length; + if (!length) return null; + + for (var i = 0, values = []; i < length; i++) { + var opt = element.options[i]; + if (opt.selected) values.push(this.optionValue(opt)); + } + return values; + }, + + optionValue: function(opt) { + // extend element because hasAttribute may not be native + return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text; + } +}; + +/*--------------------------------------------------------------------------*/ + +Abstract.TimedObserver = Class.create(PeriodicalExecuter, { + initialize: function($super, element, frequency, callback) { + $super(callback, frequency); + this.element = $(element); + this.lastValue = this.getValue(); + }, + + execute: function() { + var value = this.getValue(); + if (Object.isString(this.lastValue) && Object.isString(value) ? + this.lastValue != value : String(this.lastValue) != String(value)) { + this.callback(this.element, value); + this.lastValue = value; + } + } +}); + +Form.Element.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); + +/*--------------------------------------------------------------------------*/ + +Abstract.EventObserver = Class.create({ + initialize: function(element, callback) { + this.element = $(element); + this.callback = callback; + + this.lastValue = this.getValue(); + if (this.element.tagName.toLowerCase() == 'form') + this.registerFormCallbacks(); + else + this.registerCallback(this.element); + }, + + onElementEvent: function() { + var value = this.getValue(); + if (this.lastValue != value) { + this.callback(this.element, value); + this.lastValue = value; + } + }, + + registerFormCallbacks: function() { + Form.getElements(this.element).each(this.registerCallback, this); + }, + + registerCallback: function(element) { + if (element.type) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + Event.observe(element, 'click', this.onElementEvent.bind(this)); + break; + default: + Event.observe(element, 'change', this.onElementEvent.bind(this)); + break; + } + } + } +}); + +Form.Element.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); +if (!window.Event) var Event = { }; + +Object.extend(Event, { + KEY_BACKSPACE: 8, + KEY_TAB: 9, + KEY_RETURN: 13, + KEY_ESC: 27, + KEY_LEFT: 37, + KEY_UP: 38, + KEY_RIGHT: 39, + KEY_DOWN: 40, + KEY_DELETE: 46, + KEY_HOME: 36, + KEY_END: 35, + KEY_PAGEUP: 33, + KEY_PAGEDOWN: 34, + KEY_INSERT: 45, + + cache: { }, + + relatedTarget: function(event) { + var element; + switch(event.type) { + case 'mouseover': element = event.fromElement; break; + case 'mouseout': element = event.toElement; break; + default: return null; + } + return Element.extend(element); + } +}); + +Event.Methods = (function() { + var isButton; + + if (Prototype.Browser.IE) { + var buttonMap = { 0: 1, 1: 4, 2: 2 }; + isButton = function(event, code) { + return event.button == buttonMap[code]; + }; + + } else if (Prototype.Browser.WebKit) { + isButton = function(event, code) { + switch (code) { + case 0: return event.which == 1 && !event.metaKey; + case 1: return event.which == 1 && event.metaKey; + default: return false; + } + }; + + } else { + isButton = function(event, code) { + return event.which ? (event.which === code + 1) : (event.button === code); + }; + } + + return { + isLeftClick: function(event) { return isButton(event, 0) }, + isMiddleClick: function(event) { return isButton(event, 1) }, + isRightClick: function(event) { return isButton(event, 2) }, + + element: function(event) { + var node = Event.extend(event).target; + return Element.extend(node.nodeType == Node.TEXT_NODE ? node.parentNode : node); + }, + + findElement: function(event, expression) { + var element = Event.element(event); + return element.match(expression) ? element : element.up(expression); + }, + + pointer: function(event) { + return { + x: event.pageX || (event.clientX + document.scrollingElement.scrollLeft), + y: event.pageY || (event.clientY + document.scrollingElement.scrollTop) + }; + }, + + pointerX: function(event) { return Event.pointer(event).x }, + pointerY: function(event) { return Event.pointer(event).y }, + + stop: function(event) { + Event.extend(event); + event.preventDefault(); + event.stopPropagation(); + event.stopped = true; + } + }; +})(); + +Event.extend = (function() { + var methods = Object.keys(Event.Methods).inject({ }, function(m, name) { + m[name] = Event.Methods[name].methodize(); + return m; + }); + + if (Prototype.Browser.IE) { + Object.extend(methods, { + stopPropagation: function() { this.cancelBubble = true }, + preventDefault: function() { this.returnValue = false }, + inspect: function() { return "[object Event]" } + }); + + return function(event) { + if (!event) return false; + if (event._extendedByPrototype) return event; + + event._extendedByPrototype = Prototype.emptyFunction; + var pointer = Event.pointer(event); + Object.extend(event, { + target: event.srcElement, + relatedTarget: Event.relatedTarget(event), + pageX: pointer.x, + pageY: pointer.y + }); + return Object.extend(event, methods); + }; + + } else { + Event.prototype = Event.prototype || document.createEvent("HTMLEvents").__proto__; + Object.extend(Event.prototype, methods); + return Prototype.K; + } +})(); + +Object.extend(Event, (function() { + var cache = Event.cache; + + function getEventID(element) { + if (element._eventID) return element._eventID; + arguments.callee.id = arguments.callee.id || 1; + return element._eventID = ++arguments.callee.id; + } + + function getDOMEventName(eventName) { + if (eventName && eventName.include(':')) return "dataavailable"; + return eventName; + } + + function getCacheForID(id) { + return cache[id] = cache[id] || { }; + } + + function getWrappersForEventName(id, eventName) { + var c = getCacheForID(id); + return c[eventName] = c[eventName] || []; + } + + function createWrapper(element, eventName, handler) { + var id = getEventID(element); + var c = getWrappersForEventName(id, eventName); + if (c.pluck("handler").include(handler)) return false; + + var wrapper = function(event) { + if (!Event || !Event.extend || + (event.eventName && event.eventName != eventName)) + return false; + + Event.extend(event); + handler.call(element, event) + }; + + wrapper.handler = handler; + c.push(wrapper); + return wrapper; + } + + function findWrapper(id, eventName, handler) { + var c = getWrappersForEventName(id, eventName); + return c.find(function(wrapper) { return wrapper.handler == handler }); + } + + function destroyWrapper(id, eventName, handler) { + var c = getCacheForID(id); + if (!c[eventName]) return false; + c[eventName] = c[eventName].without(findWrapper(id, eventName, handler)); + } + + function destroyCache() { + for (var id in cache) + for (var eventName in cache[id]) + cache[id][eventName] = null; + } + + if (window.attachEvent) { + window.attachEvent("onunload", destroyCache); + } + + return { + observe: function(element, eventName, handler) { + element = $(element); + var name = getDOMEventName(eventName); + + var wrapper = createWrapper(element, eventName, handler); + if (!wrapper) return element; + + if (element.addEventListener) { + element.addEventListener(name, wrapper, false); + } else { + element.attachEvent("on" + name, wrapper); + } + + return element; + }, + + stopObserving: function(element, eventName, handler) { + element = $(element); + var id = getEventID(element), name = getDOMEventName(eventName); + + if (!handler && eventName) { + getWrappersForEventName(id, eventName).each(function(wrapper) { + element.stopObserving(eventName, wrapper.handler); + }); + return element; + + } else if (!eventName) { + Object.keys(getCacheForID(id)).each(function(eventName) { + element.stopObserving(eventName); + }); + return element; + } + + var wrapper = findWrapper(id, eventName, handler); + if (!wrapper) return element; + + if (element.removeEventListener) { + element.removeEventListener(name, wrapper, false); + } else { + element.detachEvent("on" + name, wrapper); + } + + destroyWrapper(id, eventName, handler); + + return element; + }, + + fire: function(element, eventName, memo) { + element = $(element); + if (element == document && document.createEvent && !element.dispatchEvent) + element = document.documentElement; + + if (document.createEvent) { + var event = document.createEvent("HTMLEvents"); + event.initEvent("dataavailable", true, true); + } else { + var event = document.createEventObject(); + event.eventType = "ondataavailable"; + } + + event.eventName = eventName; + event.memo = memo || { }; + + if (document.createEvent) { + element.dispatchEvent(event); + } else { + element.fireEvent(event.eventType, event); + } + + return event; + } + }; +})()); + +Object.extend(Event, Event.Methods); + +Element.addMethods({ + fire: Event.fire, + observe: Event.observe, + stopObserving: Event.stopObserving +}); + +Object.extend(document, { + fire: Element.Methods.fire.methodize(), + observe: Element.Methods.observe.methodize(), + stopObserving: Element.Methods.stopObserving.methodize() +}); + +(function() { + /* Support for the DOMContentLoaded event is based on work by Dan Webb, + Matthias Miller, Dean Edwards and John Resig. */ + + var timer, fired = false; + + function fireContentLoadedEvent() { + if (fired) return; + if (timer) window.clearInterval(timer); + document.fire("dom:loaded"); + fired = true; + } + + if (document.addEventListener) { + if (Prototype.Browser.WebKit) { + timer = window.setInterval(function() { + if (/loaded|complete/.test(document.readyState)) + fireContentLoadedEvent(); + }, 0); + + Event.observe(window, "load", fireContentLoadedEvent); + + } else { + document.addEventListener("DOMContentLoaded", + fireContentLoadedEvent, false); + } + + } else { + document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>"); + $("__onDOMContentLoaded").onreadystatechange = function() { + if (this.readyState == "complete") { + this.onreadystatechange = null; + fireContentLoadedEvent(); + } + }; + } +})(); +/*------------------------------- DEPRECATED -------------------------------*/ + +Hash.toQueryString = Object.toQueryString; + +var Toggle = { display: Element.toggle }; + +Element.Methods.childOf = Element.Methods.descendantOf; + +var Insertion = { + Before: function(element, content) { + return Element.insert(element, {before:content}); + }, + + Top: function(element, content) { + return Element.insert(element, {top:content}); + }, + + Bottom: function(element, content) { + return Element.insert(element, {bottom:content}); + }, + + After: function(element, content) { + return Element.insert(element, {after:content}); + } +}; + +var $continue = new Error('"throw $continue" is deprecated, use "return" instead'); + +// This should be moved to script.aculo.us; notice the deprecated methods +// further below, that map to the newer Element methods. +var Position = { + // set to true if needed, warning: firefox performance problems + // NOT neeeded for page scrolling, only if draggable contained in + // scrollable elements + includeScrollOffsets: false, + + // must be called before calling withinIncludingScrolloffset, every time the + // page is scrolled + prepare: function() { + this.deltaX = window.pageXOffset + || document.scrollingElement.scrollLeft + || 0; + this.deltaY = window.pageYOffset + || document.scrollingElement.scrollTop + || 0; + }, + + // caches x/y coordinate pair to use with overlap + within: function(element, x, y) { + if (this.includeScrollOffsets) + return this.withinIncludingScrolloffsets(element, x, y); + this.xcomp = x; + this.ycomp = y; + this.offset = Element.cumulativeOffset(element); + + return (y >= this.offset[1] && + y < this.offset[1] + element.offsetHeight && + x >= this.offset[0] && + x < this.offset[0] + element.offsetWidth); + }, + + withinIncludingScrolloffsets: function(element, x, y) { + var offsetcache = Element.cumulativeScrollOffset(element); + + this.xcomp = x + offsetcache[0] - this.deltaX; + this.ycomp = y + offsetcache[1] - this.deltaY; + this.offset = Element.cumulativeOffset(element); + + return (this.ycomp >= this.offset[1] && + this.ycomp < this.offset[1] + element.offsetHeight && + this.xcomp >= this.offset[0] && + this.xcomp < this.offset[0] + element.offsetWidth); + }, + + // within must be called directly before + overlap: function(mode, element) { + if (!mode) return 0; + if (mode == 'vertical') + return ((this.offset[1] + element.offsetHeight) - this.ycomp) / + element.offsetHeight; + if (mode == 'horizontal') + return ((this.offset[0] + element.offsetWidth) - this.xcomp) / + element.offsetWidth; + }, + + // Deprecation layer -- use newer Element methods now (1.5.2). + + cumulativeOffset: Element.Methods.cumulativeOffset, + + positionedOffset: Element.Methods.positionedOffset, + + absolutize: function(element) { + Position.prepare(); + return Element.absolutize(element); + }, + + relativize: function(element) { + Position.prepare(); + return Element.relativize(element); + }, + + realOffset: Element.Methods.cumulativeScrollOffset, + + offsetParent: Element.Methods.getOffsetParent, + + page: Element.Methods.viewportOffset, + + clone: function(source, target, options) { + options = options || { }; + return Element.clonePosition(target, source, options); + } +}; + +/*--------------------------------------------------------------------------*/ + +if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){ + function iter(name) { + return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]"; + } + + instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ? + function(element, className) { + className = className.toString().strip(); + var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className); + return cond ? document._getElementsByXPath('.//*' + cond, element) : []; + } : function(element, className) { + className = className.toString().strip(); + var elements = [], classNames = (/\s/.test(className) ? $w(className) : null); + if (!classNames && !className) return elements; + + var nodes = $(element).getElementsByTagName('*'); + className = ' ' + className + ' '; + + for (var i = 0, child, cn; child = nodes[i]; i++) { + if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) || + (classNames && classNames.all(function(name) { + return !name.toString().blank() && cn.include(' ' + name + ' '); + })))) + elements.push(Element.extend(child)); + } + return elements; + }; + + return function(className, parentElement) { + return $(parentElement || document.body).getElementsByClassName(className); + }; +}(Element.Methods); + +/*--------------------------------------------------------------------------*/ + +Element.ClassNames = Class.create(); +Element.ClassNames.prototype = { + initialize: function(element) { + this.element = $(element); + }, + + _each: function(iterator) { + this.element.className.split(/\s+/).select(function(name) { + return name.length > 0; + })._each(iterator); + }, + + set: function(className) { + this.element.className = className; + }, + + add: function(classNameToAdd) { + if (this.include(classNameToAdd)) return; + this.set($A(this).concat(classNameToAdd).join(' ')); + }, + + remove: function(classNameToRemove) { + if (!this.include(classNameToRemove)) return; + this.set($A(this).without(classNameToRemove).join(' ')); + }, + + toString: function() { + return $A(this).join(' '); + } +}; + +Object.extend(Element.ClassNames.prototype, Enumerable); + +/*--------------------------------------------------------------------------*/ + +Element.addMethods(); diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/checkbox-title.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/checkbox-title.html new file mode 100644 index 0000000000..1ce1a6ee83 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/checkbox-title.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Checkbox with title attribute and no other labeling mechanism</title> + </head> + <body> + <input type="checkbox" id="test" title="foo"> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/file-title.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/file-title.html new file mode 100644 index 0000000000..769dddbf80 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/file-title.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>File input with title attribute and no other labeling mechanism</title> + </head> + <body> + <input type="file" id="test" title="foo"> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/password-title.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/password-title.html new file mode 100644 index 0000000000..7e2fc7c403 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/password-title.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Password input with title attribute and no other labeling mechanism</title> + </head> + <body> + <input type="password" id="test" title="foo"> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/radio-title.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/radio-title.html new file mode 100644 index 0000000000..df7729c781 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/radio-title.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Radio button with title attribute and no other labeling mechanism</title> + </head> + <body> + <input type="radio" id="test" title="foo"> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/text-title.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/text-title.html new file mode 100644 index 0000000000..48ac5a34a5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-input/text-title.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Text input with title attribute and no other labeling mechanism</title> + </head> + <body> + <input type="text" id="test" title="foo"> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/673.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/673.html new file mode 100644 index 0000000000..38100513da --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/673.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 673</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 673</h1> + + <div id="TEST_ID" aria-live="polite" > + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="polite". + After the onload event completes a child DOM text node is added to the element with + the aria-live attribute.</p> + + <script> + + function addTextNode() { + var node = document.getElementById('TEST_ID'); + var text_node = document.createTextNode('TEST TEXT'); + node.appendChild(text_node); + } + + function onload() { + setTimeout(addTextNode,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/674.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/674.html new file mode 100644 index 0000000000..52269a560a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/674.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 674</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 674</h1> + + <div id="TEST_ID" aria-live="polite" > + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="polite". + After the onload event completes a child DOM text node is added to the element + with the aria-live attribute.</p> + + <script> + + function addTextNode() { + var node = document.getElementById('TEST_ID'); + var text_node = document.createTextNode('TEST TEXT'); + node.appendChild(text_node); + } + + function onload() { + setTimeout(addTextNode,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/675.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/675.html new file mode 100644 index 0000000000..1c778dd0bd --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/675.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 675</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 675</h1> + + <div id="TEST_ID"> + </div> + + <h2>Description</h2> + <p>An element without an aria-live attribute is defined in markup. + After the onload event completes an aria-live attribute with the + value 'assertive' is added to the element and a child DOM text + node is added to the element.</p> + + <script> + + function addLiveRegion() { + var node = document.getElementById('TEST_ID'); + node.setAttribute('aria-live', 'assertive'); + var text_node = document.createTextNode('TEST TEXT'); + node.appendChild(text_node); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/676.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/676.html new file mode 100644 index 0000000000..117fc5c575 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/676.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 676</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 676</h1> + + <div id="TEST_ID"> + </div> + + <h2>Description</h2> + <p>An element without an aria-live attribute is defined in markup. + After the onload event completes a new element with an aria-live attribute with the + value 'assertive' is added to the document and a child element and text + node is added to the element with the aria-live attribute.</p> + + <script> + + function addElement() { + var node = document.getElementById('TEST_ID'); + var element_node = document.createElement('span'); + element_node.setAttribute('aria-live','assertive'); + var text_node = document.createTextNode('Text added in a span element on load'); + element_node.appendChild(text_node); + node.appendChild(element_node); + } + + function onload() { + setTimeout(addElement,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/677.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/677.html new file mode 100644 index 0000000000..9a6b48805d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/677.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 677</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 677</h1> + + <div aria-live="polite" > + <span id="TEST_ID" style="display: none">Text in markup</span> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="polite" + which has a child DOM element node with text content that is hidden using CSS display="none". + After the onload event completes a child DOM element node with text content has the + CSS dsiplay property changed to display="block".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID'); + node.style.display = 'block'; + } + + function onload() { + setTimeout(showElement,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/678.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/678.html new file mode 100644 index 0000000000..6479eca47c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/678.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 678</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 678</h1> + + <div aria-live="assertive" > + <span id="TEST_ID" style="display: none">Text in markup</span> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the + value="assertive" which has a child DOM element node with text content + that is hidden using CSS display="none". After the onload event completes + a child DOM element node with text content has the CSS dsiplay property + changed to display="block".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID'); + node.style.display = 'block'; + } + + function onload() { + setTimeout(showElement,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/679.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/679.html new file mode 100644 index 0000000000..0f745965dc --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/679.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 679</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 679</h1> + + <div aria-live="polite" > + <span>Text before test : </span> + <span id="TEST_ID" style="visibility: hidden">TEST TEXT</span> + <span> : Text after test</span> + </div> + + <h2>Description</h2> + + <p>An element with an aria-live attribute is defined in markup with the value="polite" which has a child + DOM element node with text content that is hidden using CSS visibility="hidden". + After the onload event completes a child DOM element node with text content has the + CSS dsiplay property changed to visibility="visible".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID'); + node.style.visibility = 'visible'; + } + + function onload() { + setTimeout(showElement,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/680.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/680.html new file mode 100644 index 0000000000..9a64936755 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/680.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 680</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 680</h1> + + <div aria-live="assertive" > + <span>Text before test : </span> + <span id="TEST_ID" style="visibility: hidden">TEST TEXT</span> + <span> : Text after test</span> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="assertive" + which has a child DOM element node with text content that is hidden using CSS visibility="hidden". + After the onload event completes a child DOM element node with text content has the CSS dsiplay + property changed to visibility="visible".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID'); + node.style.visibility = 'visible'; + } + + function onload() { + setTimeout(showElement,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/681.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/681.html new file mode 100644 index 0000000000..e8a60269cb --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/681.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 681</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 681</h1> + + <div id="TEST_ID" aria-live="polite"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during the onload + event with the value="polite". After the onload event completes a child DOM text node is added + to the element with the aria-live attribute.</p> + + <script> + + function addChildTextNode() { + var node = document.getElementById('TEST_ID'); + var text_node = document.createTextNode("TEST TEXT"); + node.appendChild(text_node); + } + + function onload() { + setTimeout(addChildTextNode,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/682.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/682.html new file mode 100644 index 0000000000..85d744de6d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/682.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 682</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 682</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during the onload + event with the value="assertive". After the onload event completes a child DOM text node is + added to the element with the aria-live attribute.</p> + + <script> + + function addChildTextNode() { + var node = document.getElementById('TEST_ID_2'); + var text_node = document.createTextNode("TEST TEXT"); + node.appendChild(text_node); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'assertive'); + node.appendChild(element_node); + setTimeout(addChildTextNode,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/683.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/683.html new file mode 100644 index 0000000000..92bde34f7b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/683.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 683</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 683</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during the onload + event with the value="polite". After the onload event completes a child DOM element node is + added to the element with the aria-live attribute.</p> + + <script> + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + var text_node = document.createTextNode("TEST TEXT"); + element_node.appendChild(text_node); + node.appendChild(element_node); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var live_node = document.createElement('div'); + live_node.setAttribute('id', 'TEST_ID_2'); + live_node.setAttribute('aria-live', 'polite'); + node.appendChild(live_node); + setTimeout(addChildElementNode,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/684.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/684.html new file mode 100644 index 0000000000..c77062ca20 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/684.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 684</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 684</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during + the onload event with the value="assertive". After the onload event completes a + child DOM element node is added to the element with the aria-live attribute.</p> + + <script> + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + element_node.setAttribute('aria-live', 'polite'); + node.appendChild(element_node); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'assertive'); + node.appendChild(element_node); + setTimeout(addChildElementNode, 1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/685.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/685.html new file mode 100644 index 0000000000..f09903944d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/685.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 685</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 685</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during the onload + event with the value="polite" and the element has a child DOM element node with text content + that is hidden using CSS display="none". After the onload event completes a child DOM element + node with text content has the CSS display property changed to display="block".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID_3'); + node.style.display = "block"; + } + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_3'); + element_node.setAttribute('style', 'display: none'); + var text_node = document.createTextNode("TEST TEXT"); + element_node.appendChild(text_node); + node.appendChild(element_node); + setTimeout(showElement,1000); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'polite'); + node.appendChild(element_node); + setTimeout(addChildElementNode,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/686.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/686.html new file mode 100644 index 0000000000..ed550077de --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/686.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 686</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 686</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during the onload + event with the value="assertive" and the element has a child DOM element node with text content + that is hidden using CSS display="none". After the onload event completes a child DOM element + node with text content has the CSS display property changed to display="block".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID_3'); + node.style.display = "block"; + } + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_3'); + element_node.setAttribute('style', 'display: none'); + var text_node = document.createTextNode("TEST TEXT"); + element_node.appendChild(text_node); + node.appendChild(element_node); + setTimeout(showElement,1000); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'assertive'); + node.appendChild(element_node); + setTimeout(addChildElementNode,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/687.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/687.html new file mode 100644 index 0000000000..9503adb54f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/687.html @@ -0,0 +1,55 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 687</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 687</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during + the onload event with the value="polite" and the element has a child DOM element node + with text content that is hidden using CSS visibility="hidden". After the onload + event completes a child DOM element node with text content has the CSS display property + changed to visibility="visible".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID_3'); + node.setAttribute('style', 'visibility: visible'); + } + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_3'); + element_node.setAttribute('style', 'visibility: hidden'); + var text_node = document.createTextNode("TEST TEXT"); + element_node.appendChild(text_node); + node.appendChild(element_node); + setTimeout(showElement,1000); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'polite'); + node.appendChild(element_node); + setTimeout(addChildElementNode,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/688.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/688.html new file mode 100644 index 0000000000..c21cf2714f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/688.html @@ -0,0 +1,55 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 688</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 688</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script + during the onload event with the value="assertive" and the element has a child + DOM element node with text content that is hidden using CSS visibility="hidden". + After the onload event completes a child DOM element node with text content + has the CSS display property changed to visibility="visible".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID_3'); + node.setAttribute('style', 'visibility: visible'); + } + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_3'); + element_node.setAttribute('style', 'visibility: hidden'); + var text_node = document.createTextNode("TEST TEXT"); + element_node.appendChild(text_node); + node.appendChild(element_node); + setTimeout(showElement,1000); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'assertive'); + node.appendChild(element_node); + setTimeout(addChildElementNode,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/689.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/689.html new file mode 100644 index 0000000000..98f20d456b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/689.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 689</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 689</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script after the + onload event completes with the value="polite". After the aria-live attribute is added, + a child DOM text node is added to the element with the aria-live attribute.</p> + + <script> + + function addChildTextNode() { + var node = document.getElementById('TEST_ID_2'); + var text_node = document.createTextNode("TEST TEXT"); + node.appendChild(text_node); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'polite'); + node.appendChild(element_node); + setTimeout(addChildTextNode,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/690.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/690.html new file mode 100644 index 0000000000..d3fb88c841 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/690.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 690</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 690</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script after + the onload event completes with the value="assertive". After the aria-live attribute + is added, a child DOM text node is added to the element with the aria-live attribute.</p> + + <script> + + function addChildTextNode() { + var node = document.getElementById('TEST_ID_2'); + var text_node = document.createTextNode("TEST TEXT"); + node.appendChild(text_node); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'assertive'); + node.appendChild(element_node); + setTimeout(addChildTextNode,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/691.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/691.html new file mode 100644 index 0000000000..4cb1ab7112 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/691.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 691</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 691</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite". After the aria-live + attribute is added, a child DOM element node is added to the element with + the aria-live attribute.</p> + + <script> + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + var text_node = document.createTextNode("TEST TEXT"); + element_node.appendChild(text_node); + node.appendChild(element_node); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'polite'); + node.appendChild(element_node); + setTimeout(addChildElementNode,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/692.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/692.html new file mode 100644 index 0000000000..7f6f3f9ec3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/692.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 692</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 692</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script after + the onload event completes with the value="assertive". After the aria-live attribute + is added, a child DOM element node is added to the element with the aria-live attribute.</p> + + <script> + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + element_node.setAttribute('aria-live', 'polite'); + node.appendChild(element_node); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'assertive'); + node.appendChild(element_node); + setTimeout(addChildElementNode,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/693.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/693.html new file mode 100644 index 0000000000..9695f25a63 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/693.html @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 693</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 693</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script after + the onload event completes with the value="polite" and the element has a child DOM + element node with text content that is hidden using CSS display="none". After the + aria-live attribute is added, the child DOM element node with text content has the + CSS display property changed to display="block".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID_2'); + node.setAttribute('style', 'display: block'); + } + + function addChildElementNode() { + var element_node = document.getElementById('TEST_ID_2'); + var text_node = document.createTextNode("TEST TEXT"); + element_node.appendChild(text_node); + element_node.setAttribute('style', 'display: none'); + setTimeout(showElement,500); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'polite'); + node.appendChild(element_node); + setTimeout(addChildElementNode,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/694.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/694.html new file mode 100644 index 0000000000..392e7d22f4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/694.html @@ -0,0 +1,55 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 694</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 694</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script after + the onload event completes with the value="assertive" and the element has a child + DOM element node with text content that is hidden using CSS display="none". After + the aria-live attribute is added, the child DOM element node with text content has + the CSS display property changed to display="block".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID_3'); + node.setAttribute('style', 'display: block'); + } + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_3'); + element_node.setAttribute('style', 'display: none'); + var text_node = document.createTextNode("TEST TEXT"); + element_node.appendChild(text_node); + node.appendChild(element_node); + setTimeout(showElement,500); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'assertive'); + node.appendChild(element_node); + setTimeout(addChildElementNode,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/695.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/695.html new file mode 100644 index 0000000000..46c1666d1d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/695.html @@ -0,0 +1,55 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 695</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 695</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite" and the element has + a child DOM element node with text content that is hidden using CSS + visibility="hidden". After the aria-live attribute is added, the child DOM + element node with text content has the CSS display property changed to visibility="visible".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID_3'); + node.setAttribute('style', 'visibility: visible'); + } + + function addChildElementNode() { + var node = document.getElementById('TEST_ID_2'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_3'); + element_node.setAttribute('style', 'visibility: hidden'); + var text_node = document.createTextNode("TEST TEXT"); + element_node.appendChild(text_node); + node.appendChild(element_node); + setTimeout(showElement,500); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'assertive'); + node.appendChild(element_node); + setTimeout(addChildElementNode,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/696.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/696.html new file mode 100644 index 0000000000..b66a7214e3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/696.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 696</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 696</h1> + + <div id="TEST_ID_1"> + <div id="TEST_ID_2" style="visibility: hidden">TEST TEXT</div> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script after the + onload event completes with the value="assertive" and the element has a child DOM + element node with text content that is hidden using CSS visibility="hidden". After + the aria-live attribute is added, the child DOM element node with text content has + the CSS display property changed to visibility="visible".</p> + + <script> + + function showElement() { + var node = document.getElementById('TEST_ID_2'); + node.setAttribute('style', 'visibility: visible'); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + node.setAttribute('aria-live', 'assertive'); + setTimeout(showElement,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/697.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/697.html new file mode 100644 index 0000000000..c229e74ca0 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/697.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 697</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 697</h1> + + <div id="TEST_ID_1" aria-live="polite"> + TEST TEXT + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="polite" + has a child DOM text node with content. After the onload event completes the child + DOM text node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_1'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function onload() { + setTimeout(deleteChildNodes,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/698.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/698.html new file mode 100644 index 0000000000..3d96ba9f43 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/698.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 698</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 698</h1> + + <div id="TEST_ID_1" aria-live="assertive"> + TEST TEXT + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="assertive" + has a child DOM text node with content. After the onload event completes the child DOM + text node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_1'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function onload() { + setTimeout(deleteChildNodes,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/699.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/699.html new file mode 100644 index 0000000000..adc1c79b55 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/699.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 699</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 699</h1> + + <div id="TEST_ID_1" aria-live="polite"> + <div>TEST TEXT</div> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="polite" + has a child DOM element node that contains text content. After the onload event completes + the child DOM element node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_1'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function onload() { + setTimeout(deleteChildNodes,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/700.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/700.html new file mode 100644 index 0000000000..4f0af8cc61 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/700.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 700</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 700</h1> + + <div id="TEST_ID_1" aria-live="assertive"> + <div>TEST TEXT</div> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the + value="assertive" has a child DOM element node that contains text content. + After the onload event completes the child DOM element node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_1'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function onload() { + setTimeout(deleteChildNodes,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/701.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/701.html new file mode 100644 index 0000000000..755b226963 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/701.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 701</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 701</h1> + + <div id="TESTZ" aria-live="polite"> + Text before: <span id="TEST_ID_1">TEST TEXT</span> :text after + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with + the value="polite" has a child DOM element node that contains text + content. After the onload event completes the CSS 'display' property + of the child DOM element node is changed to display="none".</p> + + <script> + + function hideElement() { + var node = document.getElementById('TEST_ID_1'); + node.setAttribute('style', 'display: none'); + } + + function onload() { + setTimeout(hideElement,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/702.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/702.html new file mode 100644 index 0000000000..e13b82edcd --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/702.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 702</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 702</h1> + + <div id="TESTZ" aria-live="assertive"> + Text before: <span id="TEST_ID_1">TEST TEXT</span> :text after + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="assertive" + has a child DOM element node that contains text content. After the onload event completes + the CSS 'display' property of the child DOM element node is changed to display="none".</p> + + <script> + + function hideElement() { + var node = document.getElementById('TEST_ID_1'); + node.setAttribute('style', 'display: none'); + } + + function onload() { + setTimeout(hideElement,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/703.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/703.html new file mode 100644 index 0000000000..e0a4ed5495 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/703.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 703</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 703</h1> + + <div id="TESTZ" aria-live="polite"> + Text before: <span id="TEST_ID_1">TEST TEXT</span> :text after + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="polite" + has a child DOM element node that contains text content. After the onload event + completes the CSS 'visibility' property of the child DOM element node is changed + to visibility="hidden".</p> + + <script> + + function hideElement() { + var node = document.getElementById('TEST_ID_1'); + node.setAttribute('style', 'visibility: hidden'); + } + + function onload() { + setTimeout(hideElement,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/704.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/704.html new file mode 100644 index 0000000000..c2294a5f54 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/704.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 704</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 704</h1> + + <div id="TESTZ" aria-live="assertive"> + Text before: <span id="TEST_ID_1">TEST TEXT</span> :text after + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is defined in markup with the value="assertive" + has a child DOM element node that contains text content. After the onload event completes + the CSS 'visibility' property of the child DOM element node is changed to visibility="hidden".</p> + + <script> + + function hideElement() { + var node = document.getElementById('TEST_ID_1'); + node.setAttribute('style', 'visibility: hidden'); + } + + function onload() { + setTimeout(hideElement,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/705.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/705.html new file mode 100644 index 0000000000..3ac9831e97 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/705.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 705</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 705</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script + during the onload event with the value="polite" and the element has a child DOM + text node with content. After the onload event completes the child DOM text + node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_2'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + element_node.setAttribute('aria-live', 'polite'); + var text_node = document.createTextNode('TEST TEXT'); + element_node.appendChild(text_node); + node.appendChild(element_node); + setTimeout(deleteChildNodes,500); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/706.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/706.html new file mode 100644 index 0000000000..edcc7a960b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/706.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 706</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 706</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during the onload + event with the value="assertive" and the element has a child DOM text node with content. After + the onload event completes the child DOM text node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_2'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var element_node = document.createElement('div'); + element_node.setAttribute('aria-live', 'assertive'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + element_node.appendChild(text_node); + node.appendChild(element_node); + + setTimeout(deleteChildNodes,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/707.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/707.html new file mode 100644 index 0000000000..ed0de5ffa0 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/707.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 707</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 707</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script + during the onload event with the value="polite" and the element has a child + DOM element node that contains text content. After the onload event completes + the child DOM element node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_2'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'polite'); + live_node.setAttribute('id', 'TEST_ID_2'); + + var element_node = document.createElement('div'); + + var text_node = document.createTextNode('TEST TEXT'); + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + setTimeout(deleteChildNodes,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/708.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/708.html new file mode 100644 index 0000000000..796b729086 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/708.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 708</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 708</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during + the onload event with the value="assertive" and the element has a child DOM element + node that contains text content. After the onload event completes the child DOM + element node is deleted.</p> + + <script> + + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_2'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'assertive'); + live_node.setAttribute('id', 'TEST_ID_2'); + + var element_node = document.createElement('div'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(deleteChildNodes,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/709.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/709.html new file mode 100644 index 0000000000..3306f7e152 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/709.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 709</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 709</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during + the onload event with the value="polite" and the element has a child DOM element node + that contains text content. After the onload event completes the CSS 'display' + property of the child DOM element node is changed to display="none".</p> + + <script> + + + function hideElement() { + var node = document.getElementById('TEST_ID_2'); + node.setAttribute('style', 'display: none'); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'polite'); + live_node.setAttribute('id','TESTZ'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(hideElement,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/710.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/710.html new file mode 100644 index 0000000000..dd947f21d9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/710.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 710</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 710</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script during + the onload event with the value="assertive" and the element has a child DOM element + node that contains text content. After the onload event completes the CSS 'display' + property of the child DOM element node is changed to display="none".</p> + + <script> + + + function hideElement() { + var node = document.getElementById('TEST_ID_2'); + node.setAttribute('style', 'display: none'); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'assertive'); + live_node.setAttribute('id','TESTZ'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(hideElement,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/711.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/711.html new file mode 100644 index 0000000000..af409ce80a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/711.html @@ -0,0 +1,55 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 711</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 711</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a script + during the onload event with the value="polite" and the element has a child + DOM element node that contains text content. After the onload event completes + the CSS 'visibility' property of the child DOM element node is changed + to visibility="hidden".</p> + + <script> + + + function hideElement() { + var node = document.getElementById('TEST_ID_2'); + node.setAttribute('style', 'visibility: hidden'); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'polite'); + live_node.setAttribute('id', 'TESTZ'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(hideElement,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/712.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/712.html new file mode 100644 index 0000000000..11dd2f28b2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/712.html @@ -0,0 +1,55 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 712</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 712</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>An element with an aria-live attribute is added to the document by a + script during the onload event with the value="assertive" and the element + has a child DOM element node that contains text content. After the onload + event completes the CSS 'visibility' property of the child DOM element + node is changed to visibility="hidden".</p> + + <script> + + + function hideElement() { + var node = document.getElementById('TEST_ID_2'); + node.setAttribute('style', 'visibility: hidden'); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'assertive'); + live_node.setAttribute('id', 'TESTZ'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(hideElement,1000); + } + + function onload() { + addLiveRegion(); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/713.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/713.html new file mode 100644 index 0000000000..24387f9206 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/713.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 713</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 713</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a + script after the onload event completes with the value="polite" and + the element has a child DOM text node with content. After the + aria-live attribute is added, the child DOM text node is deleted.</p> + + <script> + + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_2'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'polite'); + live_node.setAttribute('id', 'TESTZ'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(deleteChildNodes,1000); + } + + function onload() { + setTimeout(addLiveRegion, 1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/714.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/714.html new file mode 100644 index 0000000000..b2d4f120b7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/714.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 714</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 714</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a + script after the onload event completes with the value="assertive" + and the element has a child DOM text node with content. After the + aria-live attribute is added, the child DOM text node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_2'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'assertive'); + live_node.setAttribute('id', 'TESTZ'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(deleteChildNodes,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/715.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/715.html new file mode 100644 index 0000000000..00b26f591b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/715.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 715</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 715</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite" and the element has + a child DOM element node that contains text content. After the aria-live + attribute is added, the child DOM element node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_1'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + node.setAttribute('aria-live', 'polite'); + + var text_node = document.createTextNode('TEST TEXT'); + + node.appendChild(text_node); + + setTimeout(deleteChildNodes,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/716.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/716.html new file mode 100644 index 0000000000..80d2b85ecd --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/716.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 716</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 716</h1> + + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite" and the element has + a child DOM element node that contains text content. After the aria-live + attribute is added, the child DOM element node is deleted.</p> + + <script> + + function deleteChildNodes() { + var node = document.getElementById('TEST_ID_1'); + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + node.setAttribute('aria-live', 'assertive'); + + var text_node = document.createTextNode('TEST TEXT'); + + node.appendChild(text_node); + + setTimeout(deleteChildNodes,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/717.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/717.html new file mode 100644 index 0000000000..aaed8c09d7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/717.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 717</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 717</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite" and the element has + a child DOM element node that contains text content. After the aria-live + attribute is added, the CSS 'display' property of the child DOM element + node is changed to display="none".</p> + + <script> + + function hideElement() { + var node = document.getElementById('TEST_ID_2'); + node.style.display = "none"; + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'polite'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(hideElement,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/718.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/718.html new file mode 100644 index 0000000000..f6e9a2b1ad --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/718.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 718</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 718</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="assertive" and the element has + a child DOM element node that contains text content. After the aria-live + attribute is added, the CSS 'display' property of the child DOM element + node is changed to display="none".</p> + + <script> + + function hideElement() { + var node = document.getElementById('TEST_ID_2'); + node.style.display = "none"; + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'assertive'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(hideElement,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/719.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/719.html new file mode 100644 index 0000000000..1f132e67ae --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/719.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 719</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 719</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a + script after the onload event completes with the value="polite" and + the element has a child DOM element node that contains text content. + After the aria-live attribute is added, the CSS 'visibility' property + of the child DOM element node is changed to visibility="hidden".</p> + + <script> + + function hideElement() { + var node = document.getElementById('TEST_ID_2'); + node.style.visibility = "hidden"; + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'polite'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(hideElement,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/720.html b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/720.html new file mode 100644 index 0000000000..23564ea247 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/accessible-name-updates/720.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 720</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 720</h1> + + <div id="TEST_ID_1"> + </div> + + <h2>Description</h2> + <p>The aria-live attribute is added to an element in the document by a + script after the onload event completes with the value="assertive" and + the element has a child DOM element node that contains text content. + After the aria-live attribute is added, the CSS 'visibility' property + of the child DOM element node is changed to visibility="hidden".</p> + + <script> + + function hideElement() { + var node = document.getElementById('TEST_ID_2'); + node.style.visibility = "hidden"; + } + + function addLiveRegion() { + var node = document.getElementById('TEST_ID_1'); + + var live_node = document.createElement('div'); + live_node.setAttribute('aria-live', 'assertive'); + + var element_node = document.createElement('div'); + element_node.setAttribute('id', 'TEST_ID_2'); + + var text_node = document.createTextNode('TEST TEXT'); + + element_node.appendChild(text_node); + live_node.appendChild(element_node); + node.appendChild(live_node); + + setTimeout(hideElement,500); + } + + function onload() { + setTimeout(addLiveRegion,1000); + } + + window.addEventListener('load', onload); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/772.html b/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/772.html new file mode 100644 index 0000000000..4684774cc2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/772.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test 772 + </title> + </head> + <body> + <img src="foo.jpg" id="test" alt="test" aria-describedby="t1"> + <div id="t1">foo</div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/773.html b/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/773.html new file mode 100644 index 0000000000..cb1bd17ad5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/773.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test 773 + </title> + </head> + <body> + <img src="foo.jpg" id="test" alt="test" aria-describedby="t1"> + <div id="t1" style="display:none">foo</div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/774.html b/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/774.html new file mode 100644 index 0000000000..0fac481545 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/774.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test 774</title> + </head> + <body> + <img src="foo.jpg" id="test" alt="test" aria-describedby="t1"> + <span id="t1" role="presentation">foo</span> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/838.html b/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/838.html new file mode 100644 index 0000000000..3a765b685d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/aria-describedby/838.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test 773 + </title> + </head> + <body> + <img src="foo.jpg" id="test" alt="test" aria-describedby="t1"> + <div id="t1" style="visibility:hidden">foo</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/567.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/567.html new file mode 100644 index 0000000000..3800104d52 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/567.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A <div> with role "button" followed by a modification to the value of "checkbox".</title> + <script> + function changeRole (/* Element */ element, /* String */ newRole) { + element.setAttribute ('role', newRole); + element.innerHTML = "This <div> has role '" + newRole + "'"; + } + </script> + </head> + <body> + <div role="button" id="test" tabindex="0" onclick="changeRole (this, 'checkbox');" onkeydown="changeRole (this, 'checkbox');">This <div> has role 'button'</div> + <p> + <button onclick="changeRole (document.getElementById ('test'), 'checkbox')" type="button">Change Role</button> + <button onclick="window.location.reload()" type="button">Reload Page</button> + </p> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/568.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/568.html new file mode 100644 index 0000000000..d290ada24c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/568.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A <div> with role "button" followed by removal of the element and its children and an insertion of a new div having role="checkbox"</title> + <script> + function changeRoleByRemoval (/* Element */ element, /* String */ newRole) { + var parent = element.parentNode; + if (parent) { + parent.removeChild (element); + var div = document.createElement ('div'); + div.setAttribute ('role', newRole); + div.setAttribute ('id', 'test'); + div.setAttribute ('tabindex', '0'); + div.setAttribute ('onclick', 'changeRoleByRemoval (this, "checkbox");'); + div.setAttribute ('onkeydown', 'changeRoleByRemoval (this, "checkbox");'); + div.innerHTML = "This <div> has role '" + newRole + "'"; + parent.appendChild (div); + } + } + </script> + </head> + <body> + <div> + <div role="button" id="test" tabindex="0" onclick="changeRoleByRemoval (this, 'checkbox');" onkeydown="changeRoleByRemoval (this, 'checkbox');">This <div> has role 'button'</div> + </div> + <p> + <button onclick="changeRoleByRemoval (document.getElementById ('test'), 'checkbox')" type="button">Change Role</button> + <button onclick="window.location.reload()" type="button">Reload Page</button> + </p> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/569.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/569.html new file mode 100644 index 0000000000..eca4e1f3e8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/569.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A <div> with role role="listbox" aria-busy="true", but no "option" descendants.</title> + </head> + <body> + <div id="test" role="listbox" aria-busy="true"> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/571-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/571-haswarn.html new file mode 100644 index 0000000000..92130fbf98 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/571-haswarn.html @@ -0,0 +1,84 @@ +<!DOCTYPE html> +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>In a <div> element with role="combobox" and aria-autocomplete="none", change values of the combobox by typing.</title> + <style> + .hasFocus { border: 2px solid red; } + </style> + <script> + var DEL = 8; + var BACK_SPACE = 72; + var comboInfo = {}; + + function initComboInfo() { + comboInfo.comboBox = document.getElementById ('test'); + comboInfo.textEntry = document.getElementById ('textEntry'); + var active = document.getElementById (comboInfo.comboBox.getAttribute ('aria-activedescendant')); + comboInfo.options = active.parentElement.children; + return active; + } + + function matchOption(/* String */ entryVal) { + var theOption = null; + + // Check only if entryVal is not empty. + // + if (entryVal != null && entryVal.length != 0) { + for (var i = 0; i < comboInfo.options.length; i++) { + var anOption = comboInfo.options[i]; + var optionText = anOption.innerHTML.toLowerCase(); + if (optionText.indexOf (entryVal) == 0) { + theOption = anOption; + break; + } + } + } + return theOption; + } + + function updateActive (/* Element */ newActive) { + var oldActive = document.getElementById (comboInfo.comboBox.getAttribute ('aria-activedescendant')); + if (oldActive != newActive) { + comboInfo.comboBox.setAttribute ('aria-activedescendant', newActive.getAttribute ('id')); + oldActive.removeAttribute ('class'); + newActive.setAttribute ('class', 'hasFocus'); + } + } + + function doOnload() { + var active = initComboInfo(); + active.setAttribute ('class', 'hasFocus'); + comboInfo.textEntry.value = active.innerHTML; + comboInfo.textEntry.focus(); + } + + function handleTyping (event) { + /* NOTE: With respect to IE, assumes IE9 as per CR criteria (http://www.w3.org/WAI/ARIA/1.0/CR/implementation-report) */ + /* NOTE: Supports deletion only from the end of the text INPUT value */ + var stringSoFar = event.target.value; + + if (event.which == DEL || event.which == BACK_SPACE) + stringSoFar = stringSoFar.slice(0, stringSoFar.length-1); + else + stringSoFar = stringSoFar + String.fromCharCode (event.which); + + var matchedOption = matchOption (stringSoFar.toLowerCase()); + if (matchedOption != null) + updateActive (matchedOption); + } + + </script> + </head> + <body onload="doOnload();"> + <div id="test" role="combobox" aria-expanded="true" aria-label="Tag" aria-autocomplete="none" aria-activedescendant="o1"> + <input id="textEntry" role="textbox" aria-owns="owned_listbox" onkeypress="handleTyping(event);" type="text"> + <ul role="listbox" id="owned_listbox" style="list-style-type: none;"> + <li role="option" id="o1">Zebra</li> + <li role="option" id="o2">Zoom</li> + <li role="option" id="o3">Zeta</li> + <li role="option" id="o4">Zaphod</li> + <li role="option" id="o5">Alpha</li> + </ul> + </div> + +</body></html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/572-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/572-haswarn.html new file mode 100644 index 0000000000..358d14a617 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/572-haswarn.html @@ -0,0 +1,73 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>In a <div> element with role="combobox" and aria-autocomplete="inline", change values of the combobox by adjusting the up and down arrow keys with focus on the textfield in the combobox.</title> + <style> + .hasFocus { border: 2px solid red; } + </style> + <script> + var UP = 38; + var DOWN = 40; + comboInfo = {}; + + function toArray (/* NodeList */ nodeList) { + var result = []; + for (var i=0; i < nodeList.length; i++) { + result[i] = nodeList[i]; + } + return result; + } + + function initComboInfo() { + comboInfo.comboBox = document.getElementById ('test'); + comboInfo.textEntry = document.getElementById ('testEntry'); + var active = document.getElementById (comboInfo.comboBox.getAttribute ('aria-activedescendant')); + comboInfo.options = toArray (active.parentElement.children); + return active; + } + + function handleArrow (/* Event */ event) { + /* NOTE: With respect to IE, assumes IE9 as per CR criteria (http://www.w3.org/WAI/ARIA/1.0/CR/implementation-report) */ + var active = document.getElementById (comboInfo.comboBox.getAttribute ('aria-activedescendant')); + var currentIndex = comboInfo.options.indexOf (active); + var nextIndex = currentIndex; + if (event.which == DOWN) { + nextIndex = (currentIndex + 1) % comboInfo.options.length; + } + else if (event.which == UP) { + nextIndex = currentIndex - 1; + if (nextIndex < 0) + nextIndex = comboInfo.options.length - 1; + } + + if (nextIndex != currentIndex) { + active.removeAttribute ('class'); + active = comboInfo.options[nextIndex]; + comboInfo.comboBox.setAttribute ('aria-activedescendant', active.getAttribute ('id')); + active.setAttribute ('class', 'hasFocus'); + event.target.value = active.innerHTML; + } + } + + function doOnload() { + var active = initComboInfo(); + comboInfo.textEntry.value = active.innerHTML; + comboInfo.textEntry.focus(); + active.setAttribute ('class', 'hasFocus'); + } + + </script> + </head> + <body onload='doOnload()'> + <div id="test" role="combobox" aria-expanded="true" aria-label="Tag" aria-autocomplete="inline" aria-activedescendant="o1"> + <input id="testEntry" type="text" role="textbox" aria-owns="owned_listbox" onkeydown='handleArrow (event)'> + <ul role="listbox" id="owned_listbox" style="list-style-type: none;"> + <li role="option" id="o1">Zebra</li> + <li role="option" id="o2">Zoom</li> + <li role="option" id="o3">Zeta</li> + <li role="option" id="o4">Zaphod</li> + </ul> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/573-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/573-haswarn.html new file mode 100644 index 0000000000..195dc7cdc0 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/573-haswarn.html @@ -0,0 +1,73 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>In a <div> element with role="combobox" and aria-autocomplete="both", change values of the combobox by adjusting the up and down arrow keys with focus on the textfield in the combobox.</title> + <style> + .hasFocus { border: 2px solid red; } + </style> + <script> + var UP = 38; + var DOWN = 40; + comboInfo = {}; + + function toArray (/* NodeList */ nodeList) { + var result = []; + for (var i=0; i < nodeList.length; i++) { + result[i] = nodeList[i]; + } + return result; + } + + function initComboInfo() { + comboInfo.comboBox = document.getElementById ('test'); + comboInfo.textEntry = document.getElementById ('testEntry'); + var active = document.getElementById (comboInfo.comboBox.getAttribute ('aria-activedescendant')); + comboInfo.options = toArray (active.parentElement.children); + return active; + } + + function handleArrow (/* Event */ event) { + /* NOTE: With respect to IE, assumes IE9 as per CR criteria (http://www.w3.org/WAI/ARIA/1.0/CR/implementation-report) */ + var active = document.getElementById (comboInfo.comboBox.getAttribute ('aria-activedescendant')); + var currentIndex = comboInfo.options.indexOf (active); + var nextIndex = currentIndex; + if (event.which == DOWN) { + nextIndex = (currentIndex + 1) % comboInfo.options.length; + } + else if (event.which == UP) { + nextIndex = currentIndex - 1; + if (nextIndex < 0) + nextIndex = comboInfo.options.length - 1; + } + + if (nextIndex != currentIndex) { + active.removeAttribute ('class'); + active = comboInfo.options[nextIndex]; + comboInfo.comboBox.setAttribute ('aria-activedescendant', active.getAttribute ('id')); + active.setAttribute ('class', 'hasFocus'); + event.target.value = active.innerHTML; + } + } + + function doOnload() { + var active = initComboInfo(); + comboInfo.textEntry.value = active.innerHTML; + comboInfo.textEntry.focus(); + active.setAttribute ('class', 'hasFocus'); + } + + </script> + </head> + <body onload='doOnload()'> + <div id="test" role="combobox" aria-expanded="true" aria-label="Tag" aria-autocomplete="both" aria-activedescendant="o2"> + <input id="testEntry" type="text" role="textbox" aria-owns="owned_listbox" onkeydown='handleArrow (event)'> + <ul role="listbox" id="owned_listbox" style="list-style-type: none;"> + <li role="option" id="o1">Zebra</li> + <li role="option" id="o2">Zoom</li> + <li role="option" id="o3">Zeta</li> + <li role="option" id="o4">Zaphod</li> + </ul> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/574.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/574.html new file mode 100644 index 0000000000..0edd82e91d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/574.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A <div> with role="list" and a child div with role="group" who has a child of role="button".</title> + </head> + <body> + <div id="test" role="list"> + <div id="listChild" role="group"> + <span id="groupChild" role="button">List <abbr title="containing">→</abbr> group <abbr title="containing">→</abbr> button</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/575.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/575.html new file mode 100644 index 0000000000..2672741683 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/575.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A <div>with role="menu" and a child div with role="group" who has a child of role="button"..</title> + </head> + <body> + <div id="test" role="menu"> + <div id="menuChild" role="group"> + <span id="groupChild" role="button">Menu <abbr title="containing">→</abbr> group <abbr title="containing">→</abbr> button</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/576.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/576.html new file mode 100644 index 0000000000..25ac37ce26 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/576.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A <div> with role="tree" and a child div with role="group" who has a child of role="button"</title> + </head> + <body> + <div id="test" role="tree"> + <div id="treeChild" role="group"> + <span id="groupChild" role="button">Tree <abbr title="containing">→</abbr> group <abbr title="containing">→</abbr> button</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/577.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/577.html new file mode 100644 index 0000000000..f08915bed2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/577.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A <div> with role="grid" and a child div with role="rowgroup" who has a child of role="button".</title> + </head> + <body> + <div id="test" role="grid"> + <div id="gridChild" role="rowgroup"> + <span id="rowgroupChild" role="button">Grid <abbr title="containing">→</abbr> rowgroup <abbr title="containing">→</abbr> button</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/578.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/578.html new file mode 100644 index 0000000000..2e781e3d04 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/578.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A page with two div elements that have role="toolbar" but not aria-label property.</title> + </head> + <body> + <div id="test" role="toolbar">Toolbar 1</div> + <div id="test2" role="toolbar">Toolbar 2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/579.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/579.html new file mode 100644 index 0000000000..fd2441ea6a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/579.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A page with one div element that has role="toolbar" but not aria-label property.</title> + </head> + <body> + <div id="test" role="toolbar">Toolbar 1</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/580.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/580.html new file mode 100644 index 0000000000..14a2c11bd2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/580.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A div element with style="display:none" has aria-hidden="true", and then script sets style to "display: block".</title> + <script> + function replaceStyle (/* Element */ element, /* String */ selector, /* String */ newValue) { + element.setAttribute ('style', selector + ':' + newValue); + if (newValue == 'block') + element.setAttribute ('aria-hidden', 'false'); + else if (newValue == 'none') + element.setAttribute ('aria-hidden', 'true'); + } + </script> + </head> + <body> + <div id="test" aria-hidden="true" style="display:none;">This <div>'s style switched from 'display:none' to 'display:block'. It's <code>aria-hidden</code> was simultaneously switched to 'false'.</div> + <p> + <button onclick="replaceStyle (document.getElementById ('test'), 'display', 'block')" type="button">Change to 'display:block'</button> + <button onclick="replaceStyle (document.getElementById ('test'), 'display', 'none')" type="button">Change to 'display:none'</button> + <button onclick="window.location.reload()" type="button">Reload Page</button> + </p> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/581.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/581.html new file mode 100644 index 0000000000..bbe7143c50 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/581.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>A page with a div element with id="owned1" is referenced by two div elements that each have aria-owns="owned1".</title> + </head> + <body> + <div id="owner1" aria-owns="owned1">First owner of owned1</div> + <div id="owner2" aria-owns="owned1">Second owner of owned1</div> + <div id="owned1">I am owned1</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/582.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/582.html new file mode 100644 index 0000000000..82a1f19981 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/582.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>An element with aria-setsize=5 has aria-posinset=6.</title> + </head> + <body> + <h2 id="label_fruit"> Available Fruit </h2> + <ul role="listbox" aria-labelledby="label_fruit"> + <li role="option" aria-setsize="5" aria-posinset="6" id="test"> apples </li> + <li role="option" aria-setsize="5" aria-posinset="2"> bananas </li> + <li role="option" aria-setsize="5" aria-posinset="3"> cantaloupes </li> + <li role="option" aria-setsize="5" aria-posinset="4"> dates </li> + <li role="option" aria-setsize="5" aria-posinset="5"> kumquat </li> + </ul> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/584.html b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/584.html new file mode 100644 index 0000000000..e784d5be04 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/584.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>An element with aria-setsize=1 has aria-posinset=5</title> + </head> + <body> + <h2 id="label_fruit"> Available Fruit </h2> + <ul role="listbox" aria-labelledby="label_fruit"> + <li role="option" aria-setsize="1" aria-posinset="5" id="test"> apples </li> + <li role="option" aria-setsize="5" aria-posinset="2"> bananas </li> + <li role="option" aria-setsize="5" aria-posinset="3"> cantaloupes </li> + <li role="option" aria-setsize="5" aria-posinset="4"> dates </li> + <li role="option" aria-setsize="5" aria-posinset="5"> kumquat </li> + </ul> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/button-pressed/589.html b/testing/web-platform/tests/conformance-checkers/html-aria/button-pressed/589.html new file mode 100644 index 0000000000..25171dfd05 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/button-pressed/589.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>An element with role button without the aria-pressed state.</title> + </head> + <body> + <div id="test" role="button">This div has role button</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/button-pressed/590.html b/testing/web-platform/tests/conformance-checkers/html-aria/button-pressed/590.html new file mode 100644 index 0000000000..a5fc030cba --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/button-pressed/590.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>An element with role button with an aria-pressed state of "true".</title> + </head> + <body> + <div id="test" role="button" aria-pressed='true'>This div has role button, with aria-pressed='true'</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/div-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/div-haswarn.html new file mode 100644 index 0000000000..c60006cc98 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/div-haswarn.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Div with role="combobox" and aria-autocomplete="list"</title> + </head> + <body> + <div role="combobox" aria-expanded="true" aria-label="Tag" + aria-autocomplete="list" aria-activedescendant="selected_option"> + <input type="text" role="textbox" aria-owns="owned_listbox"> + <ul role="listbox" id="owned_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option" aria-selected="true">Zoom</li> + </ul> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/input.html b/testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/input.html new file mode 100644 index 0000000000..7bf7dd587a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/input.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Input with role="combobox" and aria-autocomplete="list"</title> + </head> + <body> + <input tabindex="0" type="text" id="test" role="combobox" aria-label="Tag" aria-expanded="true" + aria-autocomplete="list" aria-owns="owned_listbox" aria-activedescendant="selected_option"> + <ul role="listbox" id="owned_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option" aria-selected="true">Zoom</li> + </ul> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/default.png b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/default.png Binary files differnew file mode 100644 index 0000000000..556809f15f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/default.png diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-1.png b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-1.png Binary files differnew file mode 100644 index 0000000000..7d2bbefe80 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-1.png diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-2.png b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-2.png Binary files differnew file mode 100644 index 0000000000..51ce95ec28 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-2.png diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-3.png b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-3.png Binary files differnew file mode 100644 index 0000000000..2e22838edc --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-3.png diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-4.png b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-4.png Binary files differnew file mode 100644 index 0000000000..1bb8260997 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/css-attr-sel/state-4.png diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity-haswarn.html new file mode 100644 index 0000000000..99679c3d6d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity-haswarn.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Native checkbox with aria-checked that conflicts with native checked</title> + </head> + <body> + <form> + <input type="checkbox" role="checkbox" checked="checked" aria-checked="false" id="test" value="Placeholder content"> + </form> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-norole-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-norole-haswarn.html new file mode 100644 index 0000000000..edaedf0168 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-norole-haswarn.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Native checkbox with aria-checked but no role</title> + </head> + <body> + <form> + <input type="checkbox" checked="checked" aria-checked="mixed" id="test" value="Placeholder content"> + </form> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role-haswarn.html new file mode 100644 index 0000000000..8426a61711 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role-haswarn.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Native checkbox with aria-checked with role</title> + </head> + <body> + <form> + <input type="checkbox" checked="checked" role="checkbox" aria-checked="mixed" id="test" value="Placeholder content"> + </form> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/host-language/input-range-valuetext.htm b/testing/web-platform/tests/conformance-checkers/html-aria/host-language/input-range-valuetext.htm new file mode 100644 index 0000000000..2e6d079733 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/host-language/input-range-valuetext.htm @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <title>valuetext</title> + <meta http-equiv="Content-type" content="text/html; charset=utf-8"> +</head> +<body> + <input id="test" type="range" min="0" max="100" value="75" aria-valuetext="awesome"> +</body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-1-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-1-haswarn.html new file mode 100644 index 0000000000..58f860520c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-1-haswarn.html @@ -0,0 +1,74 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Live Region Event Test Case: Add text content</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <style> + div#TEST_ID { + margin: 0.5em; + padding: 0.25em; + border: medium gray solid; + width: 10em; + } + </style> + </head> + <body> + <h1>ARIA 1.0 Live Region Event Test Case: Add text content</h1> + + <div id="TEST_ID" aria-live="assertive" aria-label="charlotte"> + </div> + + <button onclick="tryAgain()">Try Again</button> + + <h2>Description</h2> + <p>An element with an aria-live attribute with the value "assertive" has a text content added + 1.5 seconds after the document is loaded.</p> + + <h2>Expected Results</h2> + + <dl> + <dt>ATK/AT-SPI</dt> + <dd>ATK/AT-SPIevent: text_changed::insert event</dd> + + <dt>AXAPI</dt> + <dd>AXLiveRegionChanged notification</dd> + + <dt>MSAA + IAccessible2</dt> + <dd>IAccessible2: IA2_EVENT_TEXT_INSERTED event</dd> + + <dt>MSAA + UIA Express</dt> + <dd>TextPattern..::.TextChangedEvent event</dd> + + </dl> + + + <script> + + function tryAgain() { + var node = document.getElementById('TEST_ID'); + + while (node.firstChild) node.removeChild(node.firstChild); + + onLoad(); + + } + + function addText () { + var node = document.getElementById('TEST_ID'); + + var text_node = document.createTextNode('TEST TEXT ADDED'); + + node.appendChild(text_node); + } + + function onLoad() { + + setTimeout(addText,1500); + + } + + window.addEventListener('load', onLoad); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-2.html b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-2.html new file mode 100644 index 0000000000..180ff4c44e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-2.html @@ -0,0 +1,80 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Live Region Event Test Case: Delete text content</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <style> + div#TEST_ID { + margin: 0.5em; + padding: 0.25em; + border: medium gray solid; + width: 10em; + } + </style> + </head> + <body> + <h1>ARIA 1.0 Live Region Event Test Case: Delete text content</h1> + + <div id="TEST_ID" aria-live="polite" > + TEST TEXT + </div> + + <button onclick="tryAgain()">Try Again</button> + + <h2>Description</h2> + <p>An element with an aria-live attribute with the value "polite" has a text content deleted + 1.5 seconds after the document is loaded.</p> + + <h2>Expected Results</h2> + + <dl> + <dt>ATK/AT-SPI</dt> + <dd>ATK/AT-SPIevent: text_changed::delete event</dd> + + <dt>AXAPI</dt> + <dd></dd> + <dd>AXLiveRegionChanged notification</dd> + + <dt>MSAA + IAccessible2</dt> + <dd>IAccessible2: IA2_EVENT_TEXT_REMOVED event</dd> + + <dt>MSAA + UIA Express</dt> + <dd>TextPattern..::.TextChangedEvent event</dd> + + </dl> + + + <script> + + function tryAgain() { + addText() + + onLoad(); + + } + + function clearText() { + var node = document.getElementById('TEST_ID'); + + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addText () { + var node = document.getElementById('TEST_ID'); + + var text_node = document.createTextNode('TEST TEXT'); + + node.appendChild(text_node); + } + + function onLoad() { + + setTimeout(clearText,1500); + + } + + window.addEventListener('load', onLoad); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-3.html b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-3.html new file mode 100644 index 0000000000..8bd066d9f2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-3.html @@ -0,0 +1,76 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Live Region Event Test Case: Change text content</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <style> + div#TEST_ID { + margin: 0.5em; + padding: 0.25em; + border: medium gray solid; + width: 10em; + } + </style> + </head> + <body> + <h1>ARIA 1.0 Live Region Event Test Case: Change text content</h1> + + <div id="TEST_ID" aria-live="assertive"> + TEST TEXT 1 + </div> + + <button onclick="tryAgain()">Try Again</button> + + <h2>Description</h2> + <p>An element with an aria-live attribute with the value "assertive" has a text content changed + 1.5 seconds after the document is loaded.</p> + + <h2>Expected Results</h2> + + <dl> + <dt>ATK/AT-SPI</dt> + <dd>ATK/AT-SPIevent: text_changed::delete event followed by text_changed::insert event</dd> + + <dt>AXAPI</dt> + <dd></dd> + <dd>AXLiveRegionChanged notification</dd> + + <dt>MSAA + IAccessible2</dt> + <dd>IAccessible2: IA2_EVENT_TEXT_REMOVED event followed by IA2_EVENT_TEXT_INSERTED event</dd> + + <dt>MSAA + UIA Express</dt> + <dd>TextPattern..::.TextChangedEvent event followed by another TextPattern..::.TextChangedEvent event</dd> + + </dl> + + + <script> + + function tryAgain() { + changeText('TEST TEXT 1') + onLoad(); + } + + function changeText(str) { + var node = document.getElementById('TEST_ID'); + while (node.firstChild) node.removeChild(node.firstChild); + + if (typeof str !== 'string') str = 'changed test text 2'; + addText(str) + } + + function addText (str) { + var node = document.getElementById('TEST_ID'); + var text_node = document.createTextNode(str); + node.appendChild(text_node); + } + + function onLoad() { + setTimeout(changeText,1500); + } + + window.addEventListener('load', onLoad); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-4.html b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-4.html new file mode 100644 index 0000000000..25609e92c5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-4.html @@ -0,0 +1,74 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Live Region Event Test Case: Add text content (ALERT role)</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <style> + div#TEST_ID { + margin: 0.5em; + padding: 0.25em; + border: medium gray solid; + width: 20em; + } + </style> + </head> + <body> + <h1>ARIA 1.0 Live Region Event Test Case: Add text content (ALERT role)</h1> + + <div id="TEST_ID" role="alert" > + </div> + + <button onclick="tryAgain()">Try Again</button> + + <h2>Description</h2> + <p>An element with an role attribute with the value "alert" has a text content added + 1.5 seconds after the document is loaded.</p> + + <h2>Expected Results</h2> + + <dl> + <dt>ATK/AT-SPI</dt> + <dd>ATK/AT-SPIevent: text_changed::insert event</dd> + + <dt>AXAPI</dt> + <dd>AXLiveRegionChanged notification</dd> + + <dt>MSAA + IAccessible2</dt> + <dd>IAccessible2: IA2_EVENT_TEXT_INSERTED event</dd> + + <dt>MSAA + UIA Express</dt> + <dd>TextPattern..::.TextChangedEvent event</dd> + + </dl> + + + <script> + + function tryAgain() { + var node = document.getElementById('TEST_ID'); + + while (node.firstChild) node.removeChild(node.firstChild); + + onLoad(); + + } + + function addText () { + var node = document.getElementById('TEST_ID'); + + var text_node = document.createTextNode('ALERT ROLE TEST TEXT ADDED'); + + node.appendChild(text_node); + } + + function onLoad() { + + setTimeout(addText,1500); + + } + + window.addEventListener('load', onLoad); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-5.html b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-5.html new file mode 100644 index 0000000000..4ca9d33fc6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-5.html @@ -0,0 +1,76 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Live Region Event Test Case: Change text content (LOG role)</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <style> + div#TEST_ID { + margin: 0.5em; + padding: 0.25em; + border: medium gray solid; + width: 20em; + } + </style> + </head> + <body> + <h1>ARIA 1.0 Live Region Event Test Case: Change text content (LOG role)</h1> + + <div id="TEST_ID" role="log"> + LOG ROLE TEST TEXT 1 + </div> + + <button onclick="tryAgain()">Try Again</button> + + <h2>Description</h2> + <p>An element with an role attribute with the value "log" has a text content changed + 1.5 seconds after the document is loaded.</p> + + <h2>Expected Results</h2> + + <dl> + <dt>ATK/AT-SPI</dt> + <dd>ATK/AT-SPIevent: text_changed::delete event followed by text_changed::insert event</dd> + + <dt>AXAPI</dt> + <dd></dd> + <dd>AXLiveRegionChanged notification</dd> + + <dt>MSAA + IAccessible2</dt> + <dd>IAccessible2: IA2_EVENT_TEXT_REMOVED event followed by IA2_EVENT_TEXT_INSERTED event</dd> + + <dt>MSAA + UIA Express</dt> + <dd>TextPattern..::.TextChangedEvent event followed by another TextPattern..::.TextChangedEvent event</dd> + + </dl> + + + <script> + + function tryAgain() { + changeText('LOG ROLE TEST TEXT 1') + onLoad(); + } + + function changeText(str) { + var node = document.getElementById('TEST_ID'); + while (node.firstChild) node.removeChild(node.firstChild); + + if (typeof str !== 'string') str = 'log role changed test text 2'; + addText(str) + } + + function addText (str) { + var node = document.getElementById('TEST_ID'); + var text_node = document.createTextNode(str); + node.appendChild(text_node); + } + + function onLoad() { + setTimeout(changeText,1500); + } + + window.addEventListener('load', onLoad); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-6.html b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-6.html new file mode 100644 index 0000000000..7fb2a07a01 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/live-events/test-case-live-event-6.html @@ -0,0 +1,80 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Live Region Event Test Case: Delete text content (STATUS role)</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <style> + div#TEST_ID { + margin: 0.5em; + padding: 0.25em; + border: medium gray solid; + width: 20em; + } + </style> + </head> + <body> + <h1>ARIA 1.0 Live Region Event Test Case: Delete text content (STATUS role)</h1> + + <div id="TEST_ID" role="status" > + STATUS ROLE TEST TEXT + </div> + + <button onclick="tryAgain()">Try Again</button> + + <h2>Description</h2> + <p>An element with an role attribute with the value "status" has a text content deleted + 1.5 seconds after the document is loaded.</p> + + <h2>Expected Results</h2> + + <dl> + <dt>ATK/AT-SPI</dt> + <dd>ATK/AT-SPIevent: text_changed::delete event</dd> + + <dt>AXAPI</dt> + <dd></dd> + <dd>AXLiveRegionChanged notification</dd> + + <dt>MSAA + IAccessible2</dt> + <dd>IAccessible2: IA2_EVENT_TEXT_REMOVED event </dd> + + <dt>MSAA + UIA Express</dt> + <dd>TextPattern..::.TextChangedEvent event </dd> + + </dl> + + + <script> + + function tryAgain() { + addText() + + onLoad(); + + } + + function clearText() { + var node = document.getElementById('TEST_ID'); + + while (node.firstChild) node.removeChild(node.firstChild); + } + + function addText () { + var node = document.getElementById('TEST_ID'); + + var text_node = document.createTextNode('STATUS ROLE TEST TEXT'); + + node.appendChild(text_node); + } + + function onLoad() { + + setTimeout(clearText,1500); + + } + + window.addEventListener('load', onLoad); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/mixed-value/585.html b/testing/web-platform/tests/conformance-checkers/html-aria/mixed-value/585.html new file mode 100644 index 0000000000..5b7c024dd5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/mixed-value/585.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Element with role menuitemradio having inherited state or property aria-checked with value "mixed".</title> + </head> + <body> + <div role="menu"> + <div id="test" role="menuitemradio" aria-checked="mixed" tabindex="0">Radio menu item with aria-checked='mixed'</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/mixed-value/586.html b/testing/web-platform/tests/conformance-checkers/html-aria/mixed-value/586.html new file mode 100644 index 0000000000..cc5d35362c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/mixed-value/586.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Element with role radio having inherited state or property aria-checked with value "mixed".</title> + </head> + <body> + <div id="test" role="radio" tabindex="0" aria-checked="mixed">Radio button with aria-checked='mixed'</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/596.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/596.html new file mode 100644 index 0000000000..d2f4a9d8a2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/596.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>DIV with aria-labelledby="ID1" and aria-label is not specified and title is not specified.</title> + </head> + <body> + <div id="test" aria-labelledby='ID1'>aria-labelledby='ID1'</div> + <span id="ID1">Label for 'test' element</span> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/597-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/597-haswarn.html new file mode 100644 index 0000000000..9a2901cefa --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/597-haswarn.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>DIV with aria-label="Tag" and aria-labelledby is not specified and title is not specified..</title> + </head> + <body> + <div id="test" aria-label='Tag'>aria-label='Tag'</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/598-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/598-haswarn.html new file mode 100644 index 0000000000..7d9404d823 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/598-haswarn.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>DIV with aria-labelledby="ID1" aria-label="Tag" and title is not specified.</title> + </head> + <body> + <div id="test" aria-labelledby="ID1" aria-label='Tag'>aria-labelledby="ID1" aria-label='Tag'</div> + <span id="ID1">Element with id='ID1'</span> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/599-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/599-haswarn.html new file mode 100644 index 0000000000..e08b666475 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/599-haswarn.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> + <html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>DIV with id="ID0" and aria-labelledby="ID0 ID1" and aria-label="Tag" and title is not specified.</title> + </head> + <body> + <div id="test" aria-labelledby="ID0 ID1" aria-label="Tag">aria-labelledby="ID0 ID1" aria-label='Tag'</div> + <span id="ID0">Element with id='ID0'</span> + <span id="ID1">Element with id='ID1'</span> + </body> + </html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/600.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/600.html new file mode 100644 index 0000000000..407e35009d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/600.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>DIV with text and aria-label is not specified and aria-labelledby is not specified and title is not specified and role is not specified.</title> + </head> + <body> + <div id="test">Div with text</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/601.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/601.html new file mode 100644 index 0000000000..696f900b99 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/601.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>DIV with text and role="button" and aria-label is not specified and aria-labelledby is not specified and title is not specified.</title> + </head> + <body> + <div id="test" role="button">Div with role of button, with text.</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/602.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/602.html new file mode 100644 index 0000000000..cd896fc11f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/602.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>DIV with text and role="button" and title="Tag" and aria-label is not specified and aria-labelledby is not specified.</title> + </head> + <body> + <div id="test" role="button" title="Tag" style="outline:medium solid black; width:2em; height:1em;"></div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/603.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/603.html new file mode 100644 index 0000000000..d43057cb7c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/603.html @@ -0,0 +1,2 @@ +<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>< href="test.html" aria-labelledby="ID1"> ABC </A> and aria-label is not specified and title is not specified.</title>
</head>
<body> + <div id="ID1">Nifty</div>
<a href="test.html" aria-labelledby="ID1">ABC</a>
</body>
</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/604.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/604.html new file mode 100644 index 0000000000..d130308935 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/604.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>aria-label on anchor (without aria-labelledby or title attribute)</title> + </head> + <body> + <a id="test" href="test.html" aria-label="Tag">ABC</a> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/605.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/605.html new file mode 100644 index 0000000000..a9a47476bb --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/605.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Aria-label on anchor with aria-labelledby (no title attribute)</title> + </head> + <body> + <a href="test.html" id="test" aria-labelledby="ID1" aria-label="Tag">ABC</a> + <p id="ID1">Here is some labelledby text</p> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/606.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/606.html new file mode 100644 index 0000000000..31a65d6b8a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/606.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>aria-label on anchor with two aria-labelledby ids (no title attribute)</title> + </head> + <body> + <a href="test.html" id="ID0" aria-labelledby="ID0 ID1" aria-label="Tag"></a> + <p id="ID1">Also labelledby text ID1</p> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/607.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/607.html new file mode 100644 index 0000000000..8e71e7d6e8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/607.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Anchor with no aria-label, no aria-labelledby, no title attribute</title> + </head> + <body> + <a href="test.html" id="test">ABC</a> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/608.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/608.html new file mode 100644 index 0000000000..e73fc0f25a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/608.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Title attribute, no aria-label, aria-labelledby</title> + </head> + <body> + <a href="test.html" id="test" title="Tag"></a> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/837.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/837.html new file mode 100644 index 0000000000..eab418c842 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-general/837.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Tree item with text value "Animals" with two descendant tree items with text value "Cats" and "Dogs".</title> + </head> + <body> + <ul id="tree0" role="tree" aria-activedescendant="tree0_item0" tabindex="0"> + <li id="tree0_item0" role="treeitem" aria-level="1" aria-expanded="true"> + Animals + <ul role="group"> + <li id="tree0_item0_1" role="treeitem" aria-level="2" aria-expanded="true">Cats</li> + <li id="tree0_item0_2" role="treeitem" aria-level="2" aria-expanded="true">Dogs</li> + </ul> + </li> + </ul> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/557-isvalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/557-isvalid.html new file mode 100644 index 0000000000..5cd2d30636 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/557-isvalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 557 IMG with aria-label="l" and alt="a" and title="t" and aria-labelledby not specified.</title> +</head> +<body> +<img src="foo.jpg" aria-label="1" alt="a" title="t"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/565-isvalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/565-isvalid.html new file mode 100644 index 0000000000..78ccdf0ca2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/565-isvalid.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 565 IMG with id="ID0" and aria-label="l" and aria-labelledby="ID0 ID1 ID2 ID3" and alt="a" and title="t".</title> +</head> +<body> +<input type="text" value="peanuts" id="ID1"> +<input type="text" value="popcorn" id="ID2"> +<input type="text" value="apple jacks" id="ID3"> +<img id="ID0" aria-label="1" aria-labelledby="ID0 ID1 ID2 ID3" alt= "a" title="t" src="foo.jpg"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/566-isvalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/566-isvalid.html new file mode 100644 index 0000000000..58ea9334e0 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/566-isvalid.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 566 IMG with id="ID0" and aria-label="" and aria-labelledby="ID0 ID1 ID2 ID3" and alt="a" and title="t".</title> +</head> +<body> +<input type="text" value="peanuts" id="ID1"> +<input type="text" value="popcorn" id="ID2"> +<input type="text" value="apple jacks" id="ID3"> +<img id="ID0" aria-label="" aria-labelledby="ID0 ID1 ID2 ID3" alt= "" title="t" src="foo.jpg"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/foo.jpg b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/foo.jpg Binary files differnew file mode 100644 index 0000000000..7d11a4f7cf --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/foo.jpg diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/test.png b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/test.png Binary files differnew file mode 100644 index 0000000000..85cfa35fd1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-img/test.png diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/538.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/538.html new file mode 100644 index 0000000000..d8d9225c1f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/538.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 538 UT type="hidden" with no aria-labelledby and with id="test".</title> +</head> +<body> +<input type="hidden" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/542.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/542.html new file mode 100644 index 0000000000..2e2f5c5afa --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/542.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 542 An INPUT type=submit, with id="test", with no aria-labelledby and no aria-label and does not have a role=presentation.</title> +</head> +<body> +<input type="submit" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/543.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/543.html new file mode 100644 index 0000000000..4fd6cc33a5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/543.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 543 An INPUT type="reset", with id="test", with no aria-labelledby and no aria-label and does not have a role=presentation.</title> +</head> +<body> +<input type="reset" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/544.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/544.html new file mode 100644 index 0000000000..3bf8fb2457 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/544.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 544 An INPUT type=button, with id="test", value="foo", with no aria-labelledby and no aria-label and does not have a role=presentation.</title> +</head> +<body> +<input type="button" id="test" value="foo"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/545.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/545.html new file mode 100644 index 0000000000..16e0d7e1f9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/545.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 545 An INPUT type=img, with id="test", with no aria-labelledby, and no aria-label, does not have a role=presentation, and has an alt attribute.</title> +</head> +<body> +<input src="baz.html" type="image" id="test" alt="foo"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/546.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/546.html new file mode 100644 index 0000000000..e17ad3be87 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/546.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 546 An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element.</title> +</head> +<body> +<label for="test">States:</label> +<input type="text" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/551.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/551.html new file mode 100644 index 0000000000..fe1f4c17b6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/551.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 551 An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title.</title> +</head> +<body> +<input type="text" id="test" title="crazy" value="baz"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/552.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/552.html new file mode 100644 index 0000000000..6623a107e9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/552.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 552 An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule.</title> +<style> + +label:before +{ +content:"fancy "; +} +</style> +</head> +<body> +<label for="test">fruit</label> +<input type="text" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/553.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/553.html new file mode 100644 index 0000000000..b0189c7163 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/553.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 553 An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. </title> +<style> + +label:after +{ +content:" fruit"; +} +</style> +</head> +<body> +<label for="test">fancy</label> +<input type="text" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/609.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/609.html new file mode 100644 index 0000000000..b3b07abff7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/609.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Title attribute, no aria-label, aria-labelledby</title> + </head> + <body> + <input id="test" type="text" aria-labelledby="ID1 ID2 ID3"> + <p id="ID1">Here is some labelledby text for ID1</p> + <p id="ID2">Also labelledby text ID2</p> + <p id="ID3">Additional labelledby text ID3</p> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/610.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/610.html new file mode 100644 index 0000000000..bd234fbc49 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/610.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Input element, no wai-aria</title> + </head> + <body> + <input id="test" type="text" aria-label="bar" aria-labelledby="ID1 test"> + <div id="ID1">foo</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/611.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/611.html new file mode 100644 index 0000000000..4a9d343a41 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/611.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Input element with type="text" referenced by a label, no wai aria</title> + </head> + <body> + <input id="test" type="text"> + <label for="test">foo</label> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/612.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/612.html new file mode 100644 index 0000000000..5037cbd785 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/612.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Input with type="password" label/for without wai-aria</title> + </head> + <body> +<input type="password" id="test"> +<label for="test">foo</label></body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/613.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/613.html new file mode 100644 index 0000000000..0f16f92202 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/613.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Input with type="checkbox" label/for without wai-aria</title> + </head> + <body> +<input type="checkbox" id="test"> +<label for="test">foo</label></body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/614.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/614.html new file mode 100644 index 0000000000..29d3d59cd2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/614.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Input with type="radio" label/for without wai-aria</title> + </head> + <body> +<input type="radio" id="test"> +<label for="test">foo</label></body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/615.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/615.html new file mode 100644 index 0000000000..1790e6aa8e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/615.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Input with type="file" label/for without wai-aria</title> + </head> + <body> +<input type="file" id="test"> +<label for="test">foo</label></body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/659.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/659.html new file mode 100644 index 0000000000..c7700a8d02 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/659.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Text input with @title and :before and :after content rule</title> + <style> + label:before { content: "foo"; } + label:after { content: "baz"; } + </style> + </head> + <body> + <form> + <label for="test" title="bar"><input id="test" type="text" name="test" title="bar"></label> + </form> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/660.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/660.html new file mode 100644 index 0000000000..7fd0d265a3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/660.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Text input with @title and :before and :after content rule</title> + <style> + label:before { content: "foo "; } + label:after { content: " baz"; } + </style> + </head> + <body> + <form> + <label for="test" title="bar"><input id="test" type="password" name="test" title="bar"></label> + </form> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/661.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/661.html new file mode 100644 index 0000000000..7cb28dcf8e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/661.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Text input with @title and :before and :after content rule</title> + <style> + label:before { content: "foo"; } + label:after { content: "baz"; } + </style> + </head> + <body> + <form> + <label for="test"><input id="test" type="checkbox" name="test" title=" bar "></label> + </form> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/662.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/662.html new file mode 100644 index 0000000000..a857a15560 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/662.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Text input with @title and :before and :after content rule</title> + <style> + label:before { content: "foo"; } + label:after { content: "baz"; } + </style> + </head> + <body> + <form> + <label for="test"><input id="test" type="radio" name="test" title=" bar "></label> + </form> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/663.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/663.html new file mode 100644 index 0000000000..01c5604826 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/663.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Text input with @title and :before and :after content rule</title> + <style> + label:before { content: "foo "; } + label:after { content: " baz"; } + </style> + </head> + <body> + <form> + <label for="test"><input id="test" type="file" name="test" title="bar"></label> + </form> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/721.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/721.html new file mode 100644 index 0000000000..ae260117b3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/721.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 546a An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element.</title> +</head> +<body> +<label for="test">States:</label> +<input type="password" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/723.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/723.html new file mode 100644 index 0000000000..eb407a8aff --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/723.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 546b An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element.</title> +</head> +<body> +<label for="test">States:</label> +<input type="checkbox" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/724.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/724.html new file mode 100644 index 0000000000..bede445367 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/724.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 546c An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element.</title> +</head> +<body> +<label for="test">States:</label> +<input type="radio" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/725.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/725.html new file mode 100644 index 0000000000..e24d07d9bd --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/725.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 546d An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element.</title> +</head> +<body> +<label for="test">File:</label> +<input type="file" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/748.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/748.html new file mode 100644 index 0000000000..fe6468492e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/748.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title.</title> +</head> +<body> +<input type="password" id="test" title="crazy" value="baz"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/749.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/749.html new file mode 100644 index 0000000000..39492c77ef --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/749.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title.</title> +</head> +<body> +<input type="checkbox" id="test" title="crazy"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/750.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/750.html new file mode 100644 index 0000000000..28c9db3b72 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/750.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title.</title> +</head> +<body> +<input type="radio" id="test" title="crazy"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/751.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/751.html new file mode 100644 index 0000000000..a68873061c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/751.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title.</title> +</head> +<body> +<input type="file" id="test" title="crazy"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/753.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/753.html new file mode 100644 index 0000000000..49d29bfe81 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/753.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule.</title> +<style> + +label:before +{ +content:"fancy "; +} +</style> +</head> +<body> +<label for="test">fruit</label> +<input type="password" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/754.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/754.html new file mode 100644 index 0000000000..9e4fe8aa81 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/754.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule.</title> +<style> + +label:before +{ +content:"fancy "; +} +</style> +</head> +<body> +<label for="test">fruit</label> +<input type="checkbox" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/755.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/755.html new file mode 100644 index 0000000000..8d765bffe4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/755.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule.</title> +<style> + +label:before +{ +content:"fancy "; +} +</style> +</head> +<body> +<label for="test">fruit</label> +<input type="radio" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/756.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/756.html new file mode 100644 index 0000000000..f8d1b89cd0 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/756.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule.</title> +<style> + +label:before +{ +content:"fancy "; +} +</style> +</head> +<body> +<label for="test">fruit</label> +<input type="file" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/758.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/758.html new file mode 100644 index 0000000000..51c48ea04f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/758.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. </title> +<style> + +label:after +{ +content:" fruit" +} +</style> +</head> +<body> +<label for="test">fancy</label> +<input type="password" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/759.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/759.html new file mode 100644 index 0000000000..63929e2d61 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/759.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. </title> +<style> + +label:after +{ +content:" fruit" +} +</style> +</head> +<body> +<label for="test">fancy</label> +<input type="checkbox" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/760.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/760.html new file mode 100644 index 0000000000..feda3261e4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/760.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. </title> +<style> + +label:after +{ +content:" fruit" +} +</style> +</head> +<body> +<label for="test">fancy</label> +<input type="radio" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/761.html b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/761.html new file mode 100644 index 0000000000..9ac96625a8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/761.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. </title> +<style> + +label:after +{ +content:"fancy"; +} +</style> +</head> +<body> +<label for="test">fruit</label> +<input type="file" id="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/foo.jpg b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/foo.jpg Binary files differnew file mode 100644 index 0000000000..7d11a4f7cf --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/name-computation-input/foo.jpg diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/859.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/859.html new file mode 100644 index 0000000000..ad383353b0 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/859.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test 859</title> + </head> + <body> + <div id="test" aria-label="test" role="alertdialog"></div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/860.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/860.html new file mode 100644 index 0000000000..3079ef86c7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/860.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test 860</title> + </head> + <body> + <div id="test" aria-label="test" role="application"></div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/861.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/861.html new file mode 100644 index 0000000000..86284e08d9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/861.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test 861</title> + </head> + <body> + <div id="test" aria-label="test" role="button"></div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/863.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/863.html new file mode 100644 index 0000000000..8ae98c7f1e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/863.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test 863</title> + </head> + <body> + <div role="grid" aria-label="mygrid"> + <div role="row"> + <div id="test" aria-label="foo" role="columnheader"></div> + </div> + </div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/864.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/864.html new file mode 100644 index 0000000000..0b706e5c87 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/864.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 864 + </title> + </head> + <body> + <input type="text" id="test" aria-label="foo" role="combobox" + aria-owns="owned_listbox" aria-activedescendant="selected_option" aria-expanded="true"> + <ul role="listbox" id="owned_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> + </ul> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/865.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/865.html new file mode 100644 index 0000000000..d706f80a25 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/865.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test 865</title> + </head> + <body> + <div id="test" aria-label="foo" role="dialog"></div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/866.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/866.html new file mode 100644 index 0000000000..8d4d5e42f1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/866.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test 866</title> + </head> + <body> + <div id="test" aria-label="foo" role="document"></div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/867.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/867.html new file mode 100644 index 0000000000..a60653fd7c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/867.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test 867</title> + </head> + <body> + <div id="test" role="grid" aria-label="foo"> + <div role="row"> + <div role="columnheader" id="obj1">obj1</div> + </div> + <div role="row"> + <div role="gridcell" id="obj2">obj2</div> + </div> + </div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/868.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/868.html new file mode 100644 index 0000000000..d43c86f296 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/868.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test 868</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div role="columnheader" id="obj1">obj1</div> + </div> + <div role="row"> + <div id="test" aria-label="foo" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/869.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/869.html new file mode 100644 index 0000000000..cba68be90a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/869.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test 869</title> + </head> + <body> + <div id="test" aria-label="foo" role="heading" aria-level="1"></div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/871.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/871.html new file mode 100644 index 0000000000..4595a7cf99 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/871.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 871</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <div id="test" role="listbox" aria-label="foo"> + <div role="option" aria-setsize="3" aria-posinset="1" tabindex="-1">Option 1</div> + <div role="option" aria-setsize="3" aria-posinset="2" tabindex="-1">Option 2</div> + <div role="option" aria-setsize="3" aria-posinset="3" tabindex="-1">Option 3</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/872.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/872.html new file mode 100644 index 0000000000..0469d7c169 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/872.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 872</title> + </head> + <body> + <div role="list"><div id="test" role="listitem" aria-label="foo"></div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/873.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/873.html new file mode 100644 index 0000000000..7ae36c5e70 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/873.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 873 + </title> + </head> + <body> + <div id="test" role="log" aria-label="foo">Placeholder content</div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/874.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/874.html new file mode 100644 index 0000000000..5d44672d31 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/874.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 874 + </title> + </head> + <body> + <div id="test" role=" marquee" aria-label="foo"></div> + </body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/875.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/875.html new file mode 100644 index 0000000000..52422efade --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/875.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 875 + </title> + </head> + <body> + <div id="test" role="menu" tabindex="0" aria-label="foo" aria-activedescendant="obj1"> + <div id="obj1" role="menuitem">obj1</div> + <div id="obj2" role="menuitem">obj2</div> + </div> + </body> +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/879.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/879.html new file mode 100644 index 0000000000..a9a876a03e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/879.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 879</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <div role="listbox"> + <div role="option" aria-setsize="3" aria-label="foo" id="test" aria-posinset="1" tabindex="-1"></div> + <div role="option" aria-setsize="3" aria-posinset="2" tabindex="-1">Option 2</div> + <div role="option" aria-setsize="3" aria-posinset="3" tabindex="-1">Option 3</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/880.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/880.html new file mode 100644 index 0000000000..570d85361d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/880.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 880 + </title> + </head> + <body> + <div id="test" role="progressbar" aria-label="foo" aria-valuemax="1.1">Placeholder content</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/887.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/887.html new file mode 100644 index 0000000000..90151869f7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/887.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 887</title> + </head> + <body> + <div role="tablist"> + <div role="tab">tab1</div><div role="tab">tab2</div> + </div> + <div id="test" aria-label="foo" role="tabpanel"> + Boring tab panel + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/888.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/888.html new file mode 100644 index 0000000000..da876814e0 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/888.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 888</title> + </head> + <body> + <div id="test" aria-label="foo" role="textbox"></div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/889.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/889.html new file mode 100644 index 0000000000..2cf67a3201 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/889.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 889</title> + </head> + <body> + <div id="test" aria-label="foo" role="timer"></div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/890.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/890.html new file mode 100644 index 0000000000..23299390b2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/890.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 890</title> + </head> + <body> + <input type="text" aria-describedby="test"> + <div id="test" aria-label="foo" role="tooltip"></div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/891.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/891.html new file mode 100644 index 0000000000..2d2361e43d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/891.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 891 + </title> + </head> + <body> + <div id="test" role="tree" aria-label="foo"> + <div role="treeitem" id="obj1">obj1</div> + <div role="treeitem" id="obj2">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/892.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/892.html new file mode 100644 index 0000000000..20934bbbfa --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/892.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 892 + </title> + </head> + <body> + <div role="tree"> + <div role="treeitem" aria-label="foo" id="test">obj1</div> + <div role="treeitem" id="obj2">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/893.html b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/893.html new file mode 100644 index 0000000000..819fa8d8d8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/namefromauthor-requ/893.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>test case 893 + </title> + </head> + <body> + <div id="test" role="treegrid" aria-label="foo" aria-activedescendant="obj1" tabindex="0"> + <div role="row"> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + <div role="row"> + <div id="obj3" role="gridcell">obj3</div> + <div id="obj4" role="gridcell">obj4</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/noaria.html b/testing/web-platform/tests/conformance-checkers/html-aria/noaria.html new file mode 100644 index 0000000000..e404e6619a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/noaria.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>No ARIA markup</title> + </head> + <body> + <div id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/497-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/497-novalid.html new file mode 100644 index 0000000000..73d4e99d65 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/497-novalid.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 497 Image element with role="presentation" but with a reference to a description </title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-describedby="foo"> +<p id="foo"> +This is an image. +</p> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/498-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/498-novalid.html new file mode 100644 index 0000000000..974f044917 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/498-novalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 498 Image element with role="presentation" but aria-disabled="true" </title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-disabled="true"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/499-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/499-novalid.html new file mode 100644 index 0000000000..30f0c90e0a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/499-novalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 499 Image element with role="presentation" but aria-dropeffect="move" </title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-dropeffect="move"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/500-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/500-novalid.html new file mode 100644 index 0000000000..309833d3e5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/500-novalid.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 500 Image element with role="presentation" but with a valid aria-flowto attribute</title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-flowto="test2"> +<div role="img" id="test2"> +</div> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/501-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/501-novalid.html new file mode 100644 index 0000000000..f944fd0725 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/501-novalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 501 Image element with role="presentation" but with aria-grabbed="true"</title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-grabbed="true"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/502-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/502-novalid.html new file mode 100644 index 0000000000..944e1c16c2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/502-novalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 502 Image element with role="presentation" but with aria-haspopup="true"</title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-haspopup="true"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/503-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/503-novalid.html new file mode 100644 index 0000000000..33fec52acf --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/503-novalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 503 Image element with role="presentation" but with aria-hidden="true"</title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-hidden="true"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/504-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/504-novalid.html new file mode 100644 index 0000000000..3b1f807b3b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/504-novalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 504 Image element with role="presentation" but with aria-invalid="true"</title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-invalid="true"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/505-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/505-novalid.html new file mode 100644 index 0000000000..587cd874b1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/505-novalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 505 Image element with role="presentation" but with aria-label="test"</title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-label="test"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/506-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/506-novalid.html new file mode 100644 index 0000000000..d518b25d9e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/506-novalid.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 506 Image element with role="presentation" but with a valid aria-labelledby attribute</title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-labelledby="test2"> +<div id="test2"> +test_label +</div> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/507-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/507-novalid.html new file mode 100644 index 0000000000..5b5542abec --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/507-novalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 507 Image element with role="presentation" but with aria-live="assertive"</title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-live="assertive"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/509-novalid.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/509-novalid.html new file mode 100644 index 0000000000..1934481487 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/509-novalid.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 509 Image element with role="presentation" but with aria-relevant="text"</title> +</head> +<body> +<img src="foo.jpg" alt="" width="40" height="40" role="presentation" aria-live="polite" aria-relevant="text"> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/510.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/510.html new file mode 100644 index 0000000000..05c50a161e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/510.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 510 An owned, unfocusable, element untied to an aria relationship that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td>Test me</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/511.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/511.html new file mode 100644 index 0000000000..d9a3043fe3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/511.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 511 An owned, focusable element, tied to an aria relationship that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td tabindex="0" id="foo">Test me</td> +</tr> +</table> +<div aria-controls="foo"> +</div> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/512.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/512.html new file mode 100644 index 0000000000..35c0a5ef07 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/512.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 512 An owned, unfocusable element, having aria-atomic="true" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-atomic="true">Test me</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/513.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/513.html new file mode 100644 index 0000000000..4a908544f5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/513.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 513 An owned, unfocusable element, having aria-busy="true" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-busy="true">Test me</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/514.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/514.html new file mode 100644 index 0000000000..0f7c348002 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/514.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 514 An owned, unfocusable element, with a valid aria-controls attribue set that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-controls="foo">Test me</td> +</tr> +</table> +<div id="foo"> +</div> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/515.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/515.html new file mode 100644 index 0000000000..de4d7caa2c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/515.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 515 An owned, unfocusable element, with a valid aria-describedby attribue set that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-describedby="foo">Test me</td> +</tr> +</table> +<div id="foo"> +You can +</div> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/516.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/516.html new file mode 100644 index 0000000000..dacee180ca --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/516.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 516 An owned, unfocusable element, having aria-disabled="true" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-disabled="true">Test me</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/517.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/517.html new file mode 100644 index 0000000000..3154b9da2f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/517.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 517 An owned, unfocusable element, having aria-dropeffect="move" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-dropeffect="move">Test me</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/518.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/518.html new file mode 100644 index 0000000000..a2c85521c1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/518.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 518 An owned, unfocusable element, with a valid aria-flowto attribue set that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-flowto="foo">Test me</td> +</tr> +</table> +<div id="foo"> +You can +</div> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/519.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/519.html new file mode 100644 index 0000000000..8ff435f4d6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/519.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 519 An owned, unfocusable element, having aria-grabbed="true" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-grabbed="true">Test me</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/520.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/520.html new file mode 100644 index 0000000000..9b7bee0f64 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/520.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 520 An owned, unfocusable element, having aria-haspopup="true" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-haspopup="true">Test me</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/521.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/521.html new file mode 100644 index 0000000000..c98a873d6a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/521.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 521 An owned, unfocusable element, having aria-hidden="true" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-hidden="true">Test me</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/522.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/522.html new file mode 100644 index 0000000000..1d18a47b8a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/522.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 522 An owned, unfocusable element, having aria-invalid="true" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-invalid="true">Test me</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/523-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/523-haswarn.html new file mode 100644 index 0000000000..7a2ba4138e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/523-haswarn.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 523 An owned, unfocusable element, having aria-label="test" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-label="test">foo</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/524.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/524.html new file mode 100644 index 0000000000..b624f041a2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/524.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 524 An owned, unfocusable element, with a valid aria-labelledby attribute set that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-labelledby="foo"></td> +</tr> +</table> +<div id="foo">test</div> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/525.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/525.html new file mode 100644 index 0000000000..cf97c15f61 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/525.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 525 An owned, unfocusable element, having aria-live="assertive" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-live="assertive">test</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/527.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/527.html new file mode 100644 index 0000000000..a7a6e751cf --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentation-role/527.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test 527 An owned, unfocusable element, having aria-relevant="text" that inherits role="presentation"</title> +</head> +<body> +<table role="presentation"> +<tr> +<td aria-relevant="text">test</td> +</tr> +</table> +</body> +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-839.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-839.html new file mode 100644 index 0000000000..5a64d87858 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-839.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 839: Separator</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 839: Separator</h1> + + <div role="separator"> + <div>Test text content</div> + <label>Textbox <input type="text" value="123456789"></label> + <p><a href="#link">Test link</a></p> + <div role="button" onclick="alert('Button Pressed')">Button</div> + </div> + + + </body> + +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-840.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-840.html new file mode 100644 index 0000000000..ed1f857bf7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-840.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 840: progressbar</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 840: progressbar</h1> + + <div role="progressbar"> + <div>Test text content</div> + <label>Textbox <input type="text" value="123456789"></label> + <p><a href="#link">Test link</a></p> + <div role="button" onclick="alert('Button Pressed')">Button</div> + </div> + + + </body> + +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-842.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-842.html new file mode 100644 index 0000000000..aa1cf57591 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-842.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 842: img</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 842: img</h1> + + <div role="img" aria-label="Test image"> + <div>Test text content</div> + <label>Textbox <input type="text" value="123456789"></label> + <p><a href="#link">Test link</a></p> + <div role="button" onclick="alert('Button Pressed')">Button</div> + </div> + + + </body> + +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-843.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-843.html new file mode 100644 index 0000000000..cae563fc7e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-843.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 843: slider</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 843: slider</h1> + + <div role="slider" aria-valuemin="0" aria-valuenow="5" aria-valuemax="10"> + <div>Test text content</div> + <label>Textbox <input type="text" value="123456789"></label> + <p><a href="#link">Test link</a></p> + <div role="button" onclick="alert('Button Pressed')">Button</div> + </div> + + + </body> + +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-844.html b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-844.html new file mode 100644 index 0000000000..8690b3fcca --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/presentational-children/testcase-844.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 844: math</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 844: math</h1> + + <div role="math" aria-label="a plus b equals c"> + <div>Test text content</div> + <label>Textbox <input type="text" value="123456789"></label> + <p><a href="#link">Test link</a></p> + <div role="button" onclick="alert('Button Pressed')">Button</div> + </div> + + + </body> + +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-false.html new file mode 100644 index 0000000000..31452f627e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-atomic" value of "false"</title> + </head> + <body> + <div id="test" aria-live="polite" aria-atomic="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-true.html new file mode 100644 index 0000000000..499b675db8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-atomic" value of "true"</title> + </head> + <body> + <div id="test" aria-live="polite" aria-atomic="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic.html new file mode 100644 index 0000000000..84faaeb86e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "" value of "true"</title> + </head> + <body> + <div aria-atomic="true"> + Placeholder content + + </div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-false.html new file mode 100644 index 0000000000..f10c124040 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-busy" value of "false"</title> + </head> + <body> + <div id="test" aria-busy="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-true.html new file mode 100644 index 0000000000..efd700760a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-busy" value of "true"</title> + </head> + <body> + <div id="test" aria-busy="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1-obj2.html new file mode 100644 index 0000000000..63eb41b1ce --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-controls" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" aria-controls="obj1 obj2">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1.html new file mode 100644 index 0000000000..8e012dd564 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-controls" value of "obj1"</title> + </head> + <body> + <div id="test" aria-controls="obj1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1-obj2.html new file mode 100644 index 0000000000..e36e08eab1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-describedby" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" aria-describedby="obj1 obj2">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1.html new file mode 100644 index 0000000000..317165628c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-describedby" value of "obj1"</title> + </head> + <body> + <div id="test" aria-describedby="obj1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-false.html new file mode 100644 index 0000000000..dc3c8ce0ea --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-disabled" value of "false"</title> + </head> + <body> + <div id="test" aria-disabled="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-true.html new file mode 100644 index 0000000000..fd01ff2d4a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-disabled" value of "true"</title> + </head> + <body> + <div id="test" aria-disabled="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-copy.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-copy.html new file mode 100644 index 0000000000..4f0782bf42 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-copy.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-dropeffect" value of "copy"</title> + </head> + <body> + <div id="test" aria-dropeffect="copy">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-execute.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-execute.html new file mode 100644 index 0000000000..e445c8b3f7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-execute.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-dropeffect" value of "execute"</title> + </head> + <body> + <div id="test" aria-dropeffect="execute">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-link.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-link.html new file mode 100644 index 0000000000..cbbc24c0e8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-link.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-dropeffect" value of "link"</title> + </head> + <body> + <div id="test" aria-dropeffect="link">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-move.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-move.html new file mode 100644 index 0000000000..55bfe810f5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-move.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-dropeffect" value of "move"</title> + </head> + <body> + <div id="test" aria-dropeffect="move">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-none.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-none.html new file mode 100644 index 0000000000..05ccc7aa55 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-none.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-dropeffect" value of "none"</title> + </head> + <body> + <div id="test" aria-dropeffect="none">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-popup.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-popup.html new file mode 100644 index 0000000000..dd5045e45d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-popup.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-dropeffect" value of "popup"</title> + </head> + <body> + <div id="test" aria-dropeffect="popup">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1-obj2.html new file mode 100644 index 0000000000..0efca8bdca --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-flowto" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" aria-flowto="obj1 obj2">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1.html new file mode 100644 index 0000000000..d60135c3f5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-flowto" value of "obj1"</title> + </head> + <body> + <div id="test" aria-flowto="obj1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-false.html new file mode 100644 index 0000000000..c3e422266d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-grabbed" value of "false"</title> + </head> + <body> + <div id="test" aria-grabbed="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-true.html new file mode 100644 index 0000000000..ab42aa1001 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-grabbed" value of "true"</title> + </head> + <body> + <div id="test" aria-grabbed="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-undefined.html new file mode 100644 index 0000000000..91626fe957 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-grabbed" value of "undefined"</title> + </head> + <body> + <div id="test" aria-grabbed="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-false.html new file mode 100644 index 0000000000..125b43ba3b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-haspopup" value of "false"</title> + </head> + <body> + <div id="test" aria-haspopup="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-true.html new file mode 100644 index 0000000000..735c64e7a3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-haspopup" value of "true"</title> + </head> + <body> + <div id="test" aria-haspopup="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-false.html new file mode 100644 index 0000000000..185bb60114 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-hidden" value of "false"</title> + </head> + <body> + <div id="test" aria-hidden="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-true.html new file mode 100644 index 0000000000..fb3b6179f7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-hidden" value of "true"</title> + </head> + <body> + <div id="test" aria-hidden="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-false.html new file mode 100644 index 0000000000..6293d2324e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-invalid" value of "false"</title> + </head> + <body> + <div id="test" aria-invalid="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-grammar.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-grammar.html new file mode 100644 index 0000000000..f71287c17d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-grammar.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-invalid" value of "grammar"</title> + </head> + <body> + <div id="test" aria-invalid="grammar">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-spelling.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-spelling.html new file mode 100644 index 0000000000..b09c6d147e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-spelling.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-invalid" value of "spelling"</title> + </head> + <body> + <div id="test" aria-invalid="spelling">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-true.html new file mode 100644 index 0000000000..ad255df243 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-invalid" value of "true"</title> + </head> + <body> + <div id="test" aria-invalid="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-label-Test-string-value-haswarn.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-label-Test-string-value-haswarn.html new file mode 100644 index 0000000000..3b6b442d48 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-label-Test-string-value-haswarn.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-label" value of "Test string value"</title> + </head> + <body> + <div id="test" aria-label="Test string value">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1-obj2.html new file mode 100644 index 0000000000..1c45b0c2b7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-labelledby" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" aria-labelledby="obj1 obj2">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1.html new file mode 100644 index 0000000000..2a863ca953 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-labelledby" value of "obj1"</title> + </head> + <body> + <div id="test" aria-labelledby="obj1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-assertive.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-assertive.html new file mode 100644 index 0000000000..b977bd4c4d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-assertive.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-live" value of "assertive"</title> + </head> + <body> + <div id="test" aria-live="assertive">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-off.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-off.html new file mode 100644 index 0000000000..b8cbf15ad2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-off.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-live" value of "off"</title> + </head> + <body> + <div id="test" aria-live="off">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-polite.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-polite.html new file mode 100644 index 0000000000..d250f7b530 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-polite.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-live" value of "polite"</title> + </head> + <body> + <div id="test" aria-live="polite">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1-obj2.html new file mode 100644 index 0000000000..784e02b353 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-owns" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" aria-owns="obj1 obj2">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1.html new file mode 100644 index 0000000000..d44ce0b38f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-owns" value of "obj1"</title> + </head> + <body> + <div id="test" aria-owns="obj1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions-text.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions-text.html new file mode 100644 index 0000000000..12b17be1e9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions-text.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-relevant" value of "additions text"</title> + </head> + <body> + <div id="test" aria-live="polite" aria-relevant="additions text">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions.html new file mode 100644 index 0000000000..c8329d95ed --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-relevant" value of "additions"</title> + </head> + <body> + <div id="test" aria-live="polite" aria-relevant="additions">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-all.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-all.html new file mode 100644 index 0000000000..574aa18281 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-all.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-relevant" value of "all"</title> + </head> + <body> + <div id="test" aria-live="polite" aria-relevant="all">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-removals.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-removals.html new file mode 100644 index 0000000000..3dc0b12fe9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-removals.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-relevant" value of "removals"</title> + </head> + <body> + <div id="test" aria-live="polite" aria-relevant="removals">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-text.html b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-text.html new file mode 100644 index 0000000000..a8957f1f7c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-text.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with no role; global state or property "aria-relevant" value of "text"</title> + </head> + <body> + <div id="test" aria-live="polite" aria-relevant="text">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/relevant-state/591.html b/testing/web-platform/tests/conformance-checkers/html-aria/relevant-state/591.html new file mode 100644 index 0000000000..f7044aa07f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/relevant-state/591.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Element with role main having global state or property aria-relevant with value "additions removals".</title> + </head> + <body> + <div id="test" role="main" aria-relevant='additions removals'>Role main with aria-relevant='additions removals'</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/relevant-state/592.html b/testing/web-platform/tests/conformance-checkers/html-aria/relevant-state/592.html new file mode 100644 index 0000000000..10bafce609 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/relevant-state/592.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Element with role main having global state or property aria-relevant with value "removals text".</title> + </head> + <body> + <div id="test" role="main" aria-relevant='removals text'>Role main with aria-relevant='removals text'</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/relevant-state/593.html b/testing/web-platform/tests/conformance-checkers/html-aria/relevant-state/593.html new file mode 100644 index 0000000000..e3bb27321a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/relevant-state/593.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Element with role main having global state or property aria-relevant with value "additions removals text".</title> + </head> + <body> + <div id="test" role="main" aria-relevant='additions removals text'>Role main with aria-relevant='additions removals text'</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alert.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alert.html new file mode 100644 index 0000000000..733dbfd81d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alert.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "alert" and no states or properties</title> + </head> + <body> + <div role="alert" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alertdialog.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alertdialog.html new file mode 100644 index 0000000000..88941fea2f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alertdialog.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "alertdialog" and no states or properties</title> + </head> + <body> + <div role="alertdialog" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-application.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-application.html new file mode 100644 index 0000000000..6eea2d0c03 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-application.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "application" and no states or properties</title> + </head> + <body> + <div role="application" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-article.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-article.html new file mode 100644 index 0000000000..c8d99c590e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-article.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "article" and no states or properties</title> + </head> + <body> + <div role="article" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-banner.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-banner.html new file mode 100644 index 0000000000..f9a8c06e88 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-banner.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "banner" and no states or properties</title> + </head> + <body> + <div role="banner" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-button.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-button.html new file mode 100644 index 0000000000..f6edccdf13 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-button.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "button" and no states or properties</title> + </head> + <body> + <div role="button" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-complementary.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-complementary.html new file mode 100644 index 0000000000..86a3325532 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-complementary.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "complementary" and no states or properties</title> + </head> + <body> + <div role="complementary" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-contentinfo.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-contentinfo.html new file mode 100644 index 0000000000..89d579eb05 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-contentinfo.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "contentinfo" and no states or properties</title> + </head> + <body> + <div role="contentinfo" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-definition.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-definition.html new file mode 100644 index 0000000000..5bdf02c9c5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-definition.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "definition" and no states or properties</title> + </head> + <body> + <div role="definition" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-dialog.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-dialog.html new file mode 100644 index 0000000000..59ac2084c6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-dialog.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "dialog" and no states or properties</title> + </head> + <body> + <div role="dialog" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-directory.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-directory.html new file mode 100644 index 0000000000..17ca3b6694 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-directory.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "directory" and no states or properties</title> + </head> + <body> + <div role="directory" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-document.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-document.html new file mode 100644 index 0000000000..a5bc88c614 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-document.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "document" and no states or properties</title> + </head> + <body> + <div role="document" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-form.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-form.html new file mode 100644 index 0000000000..2ca7e72deb --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-form.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "form" and no states or properties</title> + </head> + <body> + <div role="form" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-grid.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-grid.html new file mode 100644 index 0000000000..3ed0c84a83 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-grid.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "grid" and no states or properties</title> + </head> + <body> + <div role="grid" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-group.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-group.html new file mode 100644 index 0000000000..bcd135f68e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-group.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "group" and no states or properties</title> + </head> + <body> + <div role="group" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-heading.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-heading.html new file mode 100644 index 0000000000..db54490058 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-heading.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "heading" and no states or properties</title> + </head> + <body> + <div role="heading" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-img.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-img.html new file mode 100644 index 0000000000..a1f9276336 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-img.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "img" and no states or properties</title> + </head> + <body> + <div role="img" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-link.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-link.html new file mode 100644 index 0000000000..5b17724ee4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-link.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "link" and no states or properties</title> + </head> + <body> + <div role="link" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-list.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-list.html new file mode 100644 index 0000000000..72ffee9eff --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-list.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "list" and no states or properties</title> + </head> + <body> + <div role="list" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox-parent-combobox.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox-parent-combobox.html new file mode 100644 index 0000000000..43e137fe57 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox-parent-combobox.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>An element with id=test and role=listbox, which is owned by a combobox</title> + <style> + ul#test { + list-style-type: none; + width: 5em; + height: 3em; + border: 1px solid black; + margin-top: 0; + margin-left: 1em; + } + + ul#test > li { + margin-left: -10em; + } + </style> + </head> + <body> + <p>An element with <code>id=test</code> and <code>role=listbox</code>, which is owned by a <code>combobox</code>:</p> + <input type="text" + aria-label="Comobox that owns zebra-zoom listbox" + role="combobox" + aria-expanded="true" + aria-owns="test" + aria-autocomplete="none" + aria-activedescendant="selected_option"> + <ul role="listbox" id="test"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> + </ul> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox.html new file mode 100644 index 0000000000..ff7d32166a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "listbox" and no states or properties</title> + </head> + <body> + <div role="listbox" id="test"> + <div role="option">Placeholder content</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-log.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-log.html new file mode 100644 index 0000000000..1a53592804 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-log.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "log" and no states or properties</title> + </head> + <body> + <div role="log" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-main.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-main.html new file mode 100644 index 0000000000..1f66605023 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-main.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "main" and no states or properties</title> + </head> + <body> + <div role="main" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-marquee.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-marquee.html new file mode 100644 index 0000000000..05986754b2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-marquee.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "marquee" and no states or properties</title> + </head> + <body> + <div role="marquee" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-math.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-math.html new file mode 100644 index 0000000000..66f7571d1a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-math.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "math" and no states or properties</title> + </head> + <body> + <div role="math" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menu.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menu.html new file mode 100644 index 0000000000..63c3375aae --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menu.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "menu" and no states or properties</title> + </head> + <body> + <div role="menu" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menubar.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menubar.html new file mode 100644 index 0000000000..5e9b6a1a3d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menubar.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "menubar" and no states or properties</title> + </head> + <body> + <div role="menubar" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-navigation.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-navigation.html new file mode 100644 index 0000000000..1a0cc38ef6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-navigation.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "navigation" and no states or properties</title> + </head> + <body> + <div role="navigation" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-note.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-note.html new file mode 100644 index 0000000000..6fd8bb80b7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-note.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "note" and no states or properties</title> + </head> + <body> + <div role="note" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-option.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-option.html new file mode 100644 index 0000000000..1a44d86561 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-option.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "option" and no states or properties</title> + </head> + <body> + <div role="listbox"> + <div role="option" id="test">Placeholder content</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-presentation.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-presentation.html new file mode 100644 index 0000000000..0ebd3cdb81 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-presentation.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "presentation" and no states or properties</title> + </head> + <body> + <div role="presentation" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-progressbar.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-progressbar.html new file mode 100644 index 0000000000..cbfdef5097 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-progressbar.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "progressbar" and no states or properties</title> + </head> + <body> + <div role="progressbar" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-radiogroup.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-radiogroup.html new file mode 100644 index 0000000000..a4caff06f7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-radiogroup.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "radiogroup" and no states or properties</title> + </head> + <body> + <div role="radiogroup" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-region.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-region.html new file mode 100644 index 0000000000..29929c149b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-region.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "region" and no states or properties</title> + </head> + <body> + <div role="region" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-rowheader.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-rowheader.html new file mode 100644 index 0000000000..9a1bba18ee --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-rowheader.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "rowheader" and no states or properties</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div role="rowheader" id="test">Placeholder content</div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-search.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-search.html new file mode 100644 index 0000000000..160cec84b7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-search.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "search" and no states or properties</title> + </head> + <body> + <div role="search" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-separator.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-separator.html new file mode 100644 index 0000000000..d8d8352876 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-separator.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "separator" and no states or properties</title> + </head> + <body> + <div role="separator" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-status.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-status.html new file mode 100644 index 0000000000..9e41384935 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-status.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "status" and no states or properties</title> + </head> + <body> + <div role="status" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tablist.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tablist.html new file mode 100644 index 0000000000..211eda8154 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tablist.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "tablist" and no states or properties</title> + </head> + <body> + <div role="tablist" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tabpanel.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tabpanel.html new file mode 100644 index 0000000000..3884f39422 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tabpanel.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "tabpanel" and no states or properties</title> + </head> + <body> + <div role="tabpanel" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-textbox.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-textbox.html new file mode 100644 index 0000000000..fcfe673fb5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-textbox.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "textbox" and no states or properties</title> + </head> + <body> + <div role="textbox" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-timer.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-timer.html new file mode 100644 index 0000000000..af15207e0c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-timer.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "timer" and no states or properties</title> + </head> + <body> + <div role="timer" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-toolbar.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-toolbar.html new file mode 100644 index 0000000000..8324070282 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-toolbar.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "toolbar" and no states or properties</title> + </head> + <body> + <div role="toolbar" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tooltip.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tooltip.html new file mode 100644 index 0000000000..299346439b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tooltip.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "tooltip" and no states or properties</title> + </head> + <body> + <div role="tooltip" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tree.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tree.html new file mode 100644 index 0000000000..a194de5a29 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tree.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "tree" and no states or properties</title> + </head> + <body> + <div role="tree" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-treegrid.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-treegrid.html new file mode 100644 index 0000000000..25b242627c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-treegrid.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Plain <div> with role "treegrid" and no states or properties</title> + </head> + <body> + <div role="treegrid" id="test">Placeholder content</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-false.html new file mode 100644 index 0000000000..a2c0b72621 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-atomic" value of "false"</title> + </head> + <body> + <div id="test" role="main" aria-live="polite" aria-atomic="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-true.html new file mode 100644 index 0000000000..53f5b6d805 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-atomic" value of "true"</title> + </head> + <body> + <div id="test" role="main" aria-live="polite" aria-atomic="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-false.html new file mode 100644 index 0000000000..59b1eaed13 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-busy" value of "false"</title> + </head> + <body> + <div id="test" role="main" aria-busy="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-true.html new file mode 100644 index 0000000000..f6d8f54992 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-busy" value of "true"</title> + </head> + <body> + <div id="test" role="main" aria-busy="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1-obj2.html new file mode 100644 index 0000000000..5d095774a1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-controls" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" role="main" aria-controls="obj1 obj2">Placeholder content</div> + <div id="obj1" role="navigation">obj1</div> + <div id="obj2" role="contentinfo">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1.html new file mode 100644 index 0000000000..56db460384 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-controls" value of "obj1"</title> + </head> + <body> + <div id="test" role="main" aria-controls="obj1">Placeholder content</div> + <div id="obj1" role="navigation">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1-obj2.html new file mode 100644 index 0000000000..55369c9520 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-describedby" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" role="main" aria-describedby="obj1 obj2">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1.html new file mode 100644 index 0000000000..bb3c294f7f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-describedby" value of "obj1"</title> + </head> + <body> + <div id="test" role="main" aria-describedby="obj1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-false.html new file mode 100644 index 0000000000..90de02c084 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-disabled" value of "false"</title> + </head> + <body> + <div id="test" role="main" aria-disabled="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-true.html new file mode 100644 index 0000000000..336975f51d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-disabled" value of "true"</title> + </head> + <body> + <div id="test" role="main" aria-disabled="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-copy.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-copy.html new file mode 100644 index 0000000000..4653a0a8fd --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-copy.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-dropeffect" value of "copy"</title> + </head> + <body> + <div id="test" role="main" aria-dropeffect="copy">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-execute.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-execute.html new file mode 100644 index 0000000000..5475274455 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-execute.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-dropeffect" value of "execute"</title> + </head> + <body> + <div id="test" role="main" aria-dropeffect="execute">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-link.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-link.html new file mode 100644 index 0000000000..b592f1e1ea --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-link.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-dropeffect" value of "link"</title> + </head> + <body> + <div id="test" role="main" aria-dropeffect="link">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-move.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-move.html new file mode 100644 index 0000000000..a7caad7709 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-move.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-dropeffect" value of "move"</title> + </head> + <body> + <div id="test" role="main" aria-dropeffect="move">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-none.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-none.html new file mode 100644 index 0000000000..86c73586e1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-none.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-dropeffect" value of "none"</title> + </head> + <body> + <div id="test" role="main" aria-dropeffect="none">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-popup.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-popup.html new file mode 100644 index 0000000000..23c5f5c3df --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-popup.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-dropeffect" value of "popup"</title> + </head> + <body> + <div id="test" role="main" aria-dropeffect="popup">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1-obj2.html new file mode 100644 index 0000000000..3c72e0c5da --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-flowto" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" role="main" aria-flowto="obj1 obj2">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1.html new file mode 100644 index 0000000000..92747023e9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-flowto" value of "obj1"</title> + </head> + <body> + <div id="test" role="main" aria-flowto="obj1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-false.html new file mode 100644 index 0000000000..b44f026ff3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-grabbed" value of "false"</title> + </head> + <body> + <div id="test" role="main" aria-grabbed="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-true.html new file mode 100644 index 0000000000..fef9fcad8b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-grabbed" value of "true"</title> + </head> + <body> + <div id="test" role="main" aria-grabbed="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-undefined.html new file mode 100644 index 0000000000..fbe3f69cb2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-grabbed" value of "undefined"</title> + </head> + <body> + <div id="test" role="main" aria-grabbed="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-false.html new file mode 100644 index 0000000000..b25ab99214 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-haspopup" value of "false"</title> + </head> + <body> + <div id="test" role="main" aria-haspopup="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-true.html new file mode 100644 index 0000000000..c3d6e6af3e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-haspopup" value of "true"</title> + </head> + <body> + <div id="test" role="main" aria-haspopup="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-false.html new file mode 100644 index 0000000000..fe96171ccc --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-hidden" value of "false"</title> + </head> + <body> + <div id="test" role="main" aria-hidden="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-true.html new file mode 100644 index 0000000000..976cfcc520 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-hidden" value of "true"</title> + </head> + <body> + <div id="test" role="main" aria-hidden="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-false.html new file mode 100644 index 0000000000..ad14b3339b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-invalid" value of "false"</title> + </head> + <body> + <div id="test" role="main" aria-invalid="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-grammar.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-grammar.html new file mode 100644 index 0000000000..cea7b01aed --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-grammar.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-invalid" value of "grammar"</title> + </head> + <body> + <div id="test" role="main" aria-invalid="grammar">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-spelling.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-spelling.html new file mode 100644 index 0000000000..7ce8947581 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-spelling.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-invalid" value of "spelling"</title> + </head> + <body> + <div id="test" role="main" aria-invalid="spelling">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-true.html new file mode 100644 index 0000000000..8dc3c233ff --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-invalid" value of "true"</title> + </head> + <body> + <div id="test" role="main" aria-invalid="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-label-Test-string-value.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-label-Test-string-value.html new file mode 100644 index 0000000000..dc0c036d20 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-label-Test-string-value.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-label" value of "Test string + value" + </title> + </head> + <body> + <div id="test" role="main" aria-label="Test string value">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1-obj2.html new file mode 100644 index 0000000000..36ee9dcd5a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-labelledby" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" role="main" aria-labelledby="obj1 obj2">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1.html new file mode 100644 index 0000000000..dbcc750638 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-labelledby" value of "obj1"</title> + </head> + <body> + <div id="test" role="main" aria-labelledby="obj1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-assertive.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-assertive.html new file mode 100644 index 0000000000..05f2f3fe87 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-assertive.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-live" value of "assertive"</title> + </head> + <body> + <div id="test" role="main" aria-live="assertive">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-off.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-off.html new file mode 100644 index 0000000000..1ff8ac31c2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-off.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-live" value of "off"</title> + </head> + <body> + <div id="test" role="main" aria-live="off">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-polite.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-polite.html new file mode 100644 index 0000000000..829bf79069 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-polite.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-live" value of "polite"</title> + </head> + <body> + <div id="test" role="main" aria-live="polite">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1-obj2.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1-obj2.html new file mode 100644 index 0000000000..2276906bff --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1-obj2.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-owns" value of "obj1 obj2"</title> + </head> + <body> + <div id="test" role="main" aria-owns="obj1 obj2">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1.html new file mode 100644 index 0000000000..ebb95c433d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-owns" value of "obj1"</title> + </head> + <body> + <div id="test" role="main" aria-owns="obj1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions-text.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions-text.html new file mode 100644 index 0000000000..be51d2872e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions-text.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-relevant" value of "additions + text" + </title> + </head> + <body> + <div id="test" role="main" aria-relevant="additions text">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions.html new file mode 100644 index 0000000000..59ae86e4ff --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-relevant" value of "additions"</title> + </head> + <body> + <div id="test" role="main" aria-relevant="additions">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-all.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-all.html new file mode 100644 index 0000000000..d87c522953 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-all.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-relevant" value of "all"</title> + </head> + <body> + <div id="test" role="main" aria-relevant="all">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-removals.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-removals.html new file mode 100644 index 0000000000..791a6b2e8e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-removals.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-relevant" value of "removals"</title> + </head> + <body> + <div id="test" role="main" aria-relevant="removals">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-text.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-text.html new file mode 100644 index 0000000000..03cabb3fbb --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-text.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; global state or property "aria-relevant" value of "text"</title> + </head> + <body> + <div id="test" role="main" aria-relevant="text">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-mixed.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-mixed.html new file mode 100644 index 0000000000..837739e7ab --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-mixed.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menuitemcheckbox; inherited required state or property "aria-checked" + value of "mixed" + </title> + </head> + <body> + <div role="menu"> + <div id="test" role="menuitemcheckbox" aria-checked="mixed">Placeholder content</div> + </div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-undefined.html new file mode 100644 index 0000000000..75f3f087f1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-undefined.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menuitemcheckbox; inherited required state or property "aria-checked" + value of "undefined" + </title> + </head> + <body> + <div role="menu"> + <div id="test" role="menuitemcheckbox" aria-checked="undefined">Placeholder content</div> + </div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-false.html new file mode 100644 index 0000000000..72d48e77cf --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radio; inherited required state or property "aria-checked" value of + "false" + </title> + </head> + <body> + <div id="test" role="radio" aria-checked="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-mixed.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-mixed.html new file mode 100644 index 0000000000..1959329322 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-mixed.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radio; inherited required state or property "aria-checked" value of + "mixed" + </title> + </head> + <body> + <div id="test" role="radio" aria-checked="mixed">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-true.html new file mode 100644 index 0000000000..81571b60c5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radio; inherited required state or property "aria-checked" value of + "true" + </title> + </head> + <body> + <div id="test" role="radio" aria-checked="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-undefined.html new file mode 100644 index 0000000000..95a1ca7a27 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radio; inherited required state or property "aria-checked" value of + "undefined" + </title> + </head> + <body> + <div id="test" role="radio" aria-checked="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-false.html new file mode 100644 index 0000000000..21e7b0366a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role checkbox; required state or property "aria-checked" value of "false"</title> + </head> + <body> + <div id="test" role="checkbox" aria-checked="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-mixed.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-mixed.html new file mode 100644 index 0000000000..09200351ed --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-mixed.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role checkbox; required state or property "aria-checked" value of "mixed"</title> + </head> + <body> + <div id="test" role="checkbox" aria-checked="mixed">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-true.html new file mode 100644 index 0000000000..295d992b10 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role checkbox; required state or property "aria-checked" value of "true"</title> + </head> + <body> + <div id="test" role="checkbox" aria-checked="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-undefined.html new file mode 100644 index 0000000000..250454f822 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role checkbox; required state or property "aria-checked" value of "undefined"</title> + </head> + <body> + <div id="test" tabindex="0" role="checkbox" aria-checked="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-false.html new file mode 100644 index 0000000000..751747aec5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; required state or property "aria-expanded" value of "false"</title> + </head> + <body> + <div id="test" role="combobox" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-true.html new file mode 100644 index 0000000000..46cd8e5061 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; required state or property "aria-expanded" value of "true"</title> + </head> + <body> + <div id="test" role="combobox" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-undefined.html new file mode 100644 index 0000000000..58ea1d313c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; required state or property "aria-expanded" value of "undefined"</title> + </head> + <body> + <div id="test" role="combobox" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-false.html new file mode 100644 index 0000000000..ac960fdbf6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role alert; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="alert" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-true.html new file mode 100644 index 0000000000..1b9c610fcc --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role alert; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="alert" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-undefined.html new file mode 100644 index 0000000000..d6f9d8d793 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role alert; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="alert" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-false.html new file mode 100644 index 0000000000..d879970645 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role alertdialog; inherited supported state or property "aria-expanded" + value of "false" + </title> + </head> + <body> + <div id="test" role="alertdialog" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-true.html new file mode 100644 index 0000000000..71f7c1b48b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role alertdialog; inherited supported state or property "aria-expanded" + value of "true" + </title> + </head> + <body> + <div id="test" role="alertdialog" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-undefined.html new file mode 100644 index 0000000000..048ac59a78 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role alertdialog; inherited supported state or property "aria-expanded" + value of "undefined" + </title> + </head> + <body> + <div id="test" role="alertdialog" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-false.html new file mode 100644 index 0000000000..8b12de5aab --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role application; inherited supported state or property "aria-expanded" + value of "false" + </title> + </head> + <body> + <div id="test" role="application" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-true.html new file mode 100644 index 0000000000..0b7a2545f5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role application; inherited supported state or property "aria-expanded" + value of "true" + </title> + </head> + <body> + <div id="test" role="application" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-undefined.html new file mode 100644 index 0000000000..04c44727dc --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role application; inherited supported state or property "aria-expanded" + value of "undefined" + </title> + </head> + <body> + <div id="test" role="application" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-false.html new file mode 100644 index 0000000000..6de04bcc87 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role article; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="article" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-true.html new file mode 100644 index 0000000000..bf6bea8265 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role article; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="article" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-undefined.html new file mode 100644 index 0000000000..804330711c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role article; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="article" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-false.html new file mode 100644 index 0000000000..ddb241c484 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role banner; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="banner" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-true.html new file mode 100644 index 0000000000..433e68b2e6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role banner; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="banner" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-undefined.html new file mode 100644 index 0000000000..ed7605d79c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role banner; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="banner" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-false.html new file mode 100644 index 0000000000..4376474659 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-false.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-expanded" + value of "false" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-expanded="false">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-true.html new file mode 100644 index 0000000000..521b93520e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-true.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-expanded" + value of "true" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-expanded="true">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-undefined.html new file mode 100644 index 0000000000..295c4eb5f7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-undefined.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-expanded" + value of "undefined" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-expanded="undefined">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-false.html new file mode 100644 index 0000000000..6c32d6ae54 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-false.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-readonly" + value of "false" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-readonly="false">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-true.html new file mode 100644 index 0000000000..6ce21d3137 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-true.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-readonly" + value of "true" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-readonly="true">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-false.html new file mode 100644 index 0000000000..8c8065963b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-false.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-required" + value of "false" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-required="false">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-true.html new file mode 100644 index 0000000000..644b2756d4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-true.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-required" + value of "true" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-required="true">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-false.html new file mode 100644 index 0000000000..7a4ab45b10 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-false.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-selected" + value of "false" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-selected="false">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-true.html new file mode 100644 index 0000000000..a16d514810 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-true.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-selected" + value of "true" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-selected="true">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-undefined.html new file mode 100644 index 0000000000..4416bd662f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-undefined.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; inherited supported state or property "aria-selected" + value of "undefined" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-selected="undefined">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..4e8e3fd583 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-activedescendant-obj1.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div id="test" role="combobox" aria-haspopup="true" aria-expanded="true" aria-activedescendant="obj1" tabindex="0"> + <div role="textbox"></div> + <div role="listbox"> + <div id="obj1" role="option">obj1</div> + <div id="obj2" role="option">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-false.html new file mode 100644 index 0000000000..76943aefa9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="combobox" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-true.html new file mode 100644 index 0000000000..7d29edd7a3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="combobox" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-undefined.html new file mode 100644 index 0000000000..46b28ef3a3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="combobox" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-false.html new file mode 100644 index 0000000000..ae3dcf35f3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role complementary; inherited supported state or property "aria-expanded" + value of "false" + </title> + </head> + <body> + <div id="test" role="complementary" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-true.html new file mode 100644 index 0000000000..d3b0d83b3e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role complementary; inherited supported state or property "aria-expanded" + value of "true" + </title> + </head> + <body> + <div id="test" role="complementary" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-undefined.html new file mode 100644 index 0000000000..a7952c2543 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role complementary; inherited supported state or property "aria-expanded" + value of "undefined" + </title> + </head> + <body> + <div id="test" role="complementary" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-false.html new file mode 100644 index 0000000000..de995a9225 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role contentinfo; inherited supported state or property "aria-expanded" + value of "false" + </title> + </head> + <body> + <div id="test" role="contentinfo" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-true.html new file mode 100644 index 0000000000..846f729573 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role contentinfo; inherited supported state or property "aria-expanded" + value of "true" + </title> + </head> + <body> + <div id="test" role="contentinfo" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-undefined.html new file mode 100644 index 0000000000..0a924c6717 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role contentinfo; inherited supported state or property "aria-expanded" + value of "undefined" + </title> + </head> + <body> + <div id="test" role="contentinfo" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-false.html new file mode 100644 index 0000000000..7fce65cff8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role definition; inherited supported state or property "aria-expanded" + value of "false" + </title> + </head> + <body> + <div id="test" role="definition" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-true.html new file mode 100644 index 0000000000..b2ea2ce8ae --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role definition; inherited supported state or property "aria-expanded" + value of "true" + </title> + </head> + <body> + <div id="test" role="definition" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-undefined.html new file mode 100644 index 0000000000..bae456aa73 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role definition; inherited supported state or property "aria-expanded" + value of "undefined" + </title> + </head> + <body> + <div id="test" role="definition" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-false.html new file mode 100644 index 0000000000..e4c26f401e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role dialog; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="dialog" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-true.html new file mode 100644 index 0000000000..2095b9cd99 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role dialog; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="dialog" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-undefined.html new file mode 100644 index 0000000000..1df3702ba4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role dialog; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="dialog" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-false.html new file mode 100644 index 0000000000..ee8ae62340 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role directory; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="directory" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-true.html new file mode 100644 index 0000000000..8ef8ae9fb7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role directory; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="directory" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-undefined.html new file mode 100644 index 0000000000..4be1ec3f5f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role directory; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="directory" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-false.html new file mode 100644 index 0000000000..ce533b2956 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role form; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="form" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-true.html new file mode 100644 index 0000000000..01d98d4a86 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role form; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="form" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-undefined.html new file mode 100644 index 0000000000..da9fb7bd90 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role form; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="form" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..71268f39e8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-activedescendant-obj1.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role grid; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div id="test" tabindex="0" role="grid" aria-activedescendant="obj1"> + <div role="row"> + <span role="gridcell" id="obj1">row1-cell1</span> + <span role="gridcell" id="obj2">row1-cell2</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-false.html new file mode 100644 index 0000000000..f1c958008c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role grid; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="grid" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-true.html new file mode 100644 index 0000000000..86223ae165 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role grid; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="grid" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-undefined.html new file mode 100644 index 0000000000..aeb3693c52 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role grid; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="grid" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-false.html new file mode 100644 index 0000000000..f4955926f5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-false.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role gridcell; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div id="test" role="gridcell" aria-expanded="false">Placeholder content</div> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-undefined.html new file mode 100644 index 0000000000..f68e043699 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-undefined.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role gridcell; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div id="test" role="gridcell" aria-expanded="undefined">Placeholder content</div> + <div id="obj1" role="gridcell" >obj1</div> + <div id="obj2" role="gridcell" >obj2</div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-false.html new file mode 100644 index 0000000000..79a3d6a38d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role group; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="group" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-true.html new file mode 100644 index 0000000000..6d18a366ed --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role group; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="group" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-undefined.html new file mode 100644 index 0000000000..4a179c532a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role group; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="group" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-false.html new file mode 100644 index 0000000000..7997685154 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role heading; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="heading" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-true.html new file mode 100644 index 0000000000..d1c9468316 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role heading; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="heading" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-undefined.html new file mode 100644 index 0000000000..2de29fc45d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role heading; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="heading" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-false.html new file mode 100644 index 0000000000..835d6bbb3b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role img; inherited supported state or property "aria-expanded" value of + "false" + </title> + </head> + <body> + <div id="test" role="img" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-true.html new file mode 100644 index 0000000000..46ade1d9ba --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role img; inherited supported state or property "aria-expanded" value of + "true" + </title> + </head> + <body> + <div id="test" role="img" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-undefined.html new file mode 100644 index 0000000000..8d4f17be3f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role img; inherited supported state or property "aria-expanded" value of + "undefined" + </title> + </head> + <body> + <div id="test" role="img" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-false.html new file mode 100644 index 0000000000..d510eb1564 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-false.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role list; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="list" aria-expanded="false">Placeholder content + <div id="obj1" role="listitem">obj1</div> + </div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-true.html new file mode 100644 index 0000000000..37d15ab667 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-true.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role list; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="list" aria-expanded="true">Placeholder content + <div id="obj1" role="listitem">obj1</div> + </div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-undefined.html new file mode 100644 index 0000000000..e1679660c2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-undefined.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role list; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="list" aria-expanded="undefined">Placeholder content + <div id="obj1" role="listitem">obj1</div> + </div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..f28e43e6f4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listbox; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div id="test" tabindex="0" role="listbox" aria-activedescendant="obj1"> + <div id="obj1" role="option">obj1</div> + <div id="obj2" role="option">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-false.html new file mode 100644 index 0000000000..2bd754a3b8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listbox; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="listbox" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-true.html new file mode 100644 index 0000000000..504c7371f9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listbox; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="listbox" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-undefined.html new file mode 100644 index 0000000000..69055a2370 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listbox; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="listbox" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-false.html new file mode 100644 index 0000000000..fa242c39cb --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role log; inherited supported state or property "aria-expanded" value of + "false" + </title> + </head> + <body> + <div id="test" role="log" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-true.html new file mode 100644 index 0000000000..072291e90c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role log; inherited supported state or property "aria-expanded" value of + "true" + </title> + </head> + <body> + <div id="test" role="log" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-undefined.html new file mode 100644 index 0000000000..b19c2d6d0c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role log; inherited supported state or property "aria-expanded" value of + "undefined" + </title> + </head> + <body> + <div id="test" role="log" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-false.html new file mode 100644 index 0000000000..16cf8f109a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="main" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-true.html new file mode 100644 index 0000000000..d3687cb50f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="main" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-undefined.html new file mode 100644 index 0000000000..c08f104881 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role main; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="main" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-false.html new file mode 100644 index 0000000000..18d2f9ee85 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role marquee; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="marquee" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-true.html new file mode 100644 index 0000000000..aed711775e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role marquee; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="marquee" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-undefined.html new file mode 100644 index 0000000000..9a164bea71 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role marquee; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="marquee" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-false.html new file mode 100644 index 0000000000..c038fabadc --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role math; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="math" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-true.html new file mode 100644 index 0000000000..831c095602 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role math; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="math" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-undefined.html new file mode 100644 index 0000000000..3bd0b7b025 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role math; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="math" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..06e5fc7aeb --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menu; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div id="test" role="menu" tabindex="0" aria-activedescendant="obj1"> + <div id="obj1" role="menuitem">obj1</div> + <div id="obj2" role="menuitem">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-false.html new file mode 100644 index 0000000000..c96d9e2ac5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menu; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="menu" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-true.html new file mode 100644 index 0000000000..14361d01c1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menu; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="menu" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-undefined.html new file mode 100644 index 0000000000..7a82e92b13 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menu; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="menu" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..e761a50a4b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menubar; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div id="test" role="menubar" tabindex="0" aria-activedescendant="obj1"> + <div id="obj1" role="menuitem">obj1</div> + <div id="obj2" role="menuitem">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-false.html new file mode 100644 index 0000000000..4ab7c9590c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menubar; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="menubar" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-true.html new file mode 100644 index 0000000000..f7b26995fa --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menubar; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="menubar" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-undefined.html new file mode 100644 index 0000000000..431f843ba4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menubar; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="menubar" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-false.html new file mode 100644 index 0000000000..5691a55c04 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-false.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menuitemradio; inherited supported state or property "aria-checked" + value of "false" + </title> + </head> + <body> + <div role="menu"> + <div id="test" role="menuitemradio" aria-checked="false">Placeholder content</div> + <div id="obj1" role="menuitemradio" aria-checked="false">obj1</div> + <div id="obj2" role="menuitemradio" aria-checked="false">obj2</div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-mixed.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-mixed.html new file mode 100644 index 0000000000..d517d22a3e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-mixed.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menuitemradio; inherited supported state or property "aria-checked" + value of "mixed" + </title> + </head> + <body> + <div role="menu"> + <div id="test" tabindex="0" role="menuitemradio" aria-checked="mixed">Placeholder content</div> + <div id="obj1" role="menuitemradio" aria-checked="false">obj1</div> + <div id="obj2" role="menuitemradio" aria-checked="false">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-true.html new file mode 100644 index 0000000000..0d364f8ccb --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-true.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menuitemradio; inherited supported state or property "aria-checked" + value of "true" + </title> + </head> + <body> + <div role="menu"> + <div id="test" role="menuitemradio" aria-checked="true">Placeholder content</div> + <div id="obj1" role="menuitemradio" aria-checked="false">obj1</div> + <div id="obj2" role="menuitemradio" aria-checked="false">obj2</div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-undefined.html new file mode 100644 index 0000000000..bb6aa7854f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-undefined.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role menuitemradio; inherited supported state or property "aria-checked" + value of "undefined" + </title> + </head> + <body> + <div role="menu"> + <div id="test" role="menuitemradio" aria-checked="undefined">Placeholder content</div> + <div id="obj1" role="menuitemradio" aria-checked="false">obj1</div> + <div id="obj2" role="menuitemradio" aria-checked="false">obj2</div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-false.html new file mode 100644 index 0000000000..5769da1789 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role navigation; inherited supported state or property "aria-expanded" + value of "false" + </title> + </head> + <body> + <div id="test" role="navigation" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-true.html new file mode 100644 index 0000000000..01594dc77e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role navigation; inherited supported state or property "aria-expanded" + value of "true" + </title> + </head> + <body> + <div id="test" role="navigation" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-undefined.html new file mode 100644 index 0000000000..9e6f4c630f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role navigation; inherited supported state or property "aria-expanded" + value of "undefined" + </title> + </head> + <body> + <div id="test" role="navigation" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-false.html new file mode 100644 index 0000000000..02065e732c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role note; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="note" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-true.html new file mode 100644 index 0000000000..d1e0f8c595 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role note; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="note" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-undefined.html new file mode 100644 index 0000000000..1e902fb253 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role note; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="note" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemax-1.1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemax-1.1.html new file mode 100644 index 0000000000..2179446478 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemax-1.1.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role progressbar; inherited supported state or property "aria-valuemax" + value of "1.1" + </title> + </head> + <body> + <div id="test" role="progressbar" aria-valuemax="1.1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemin-1.1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemin-1.1.html new file mode 100644 index 0000000000..4fca777ec9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemin-1.1.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role progressbar; inherited supported state or property "aria-valuemin" + value of "1.1" + </title> + </head> + <body> + <div id="test" role="progressbar" aria-valuemin="1.1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuenow-1.1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuenow-1.1.html new file mode 100644 index 0000000000..751d47ee33 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuenow-1.1.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role progressbar; inherited supported state or property "aria-valuenow" + value of "1.1" + </title> + </head> + <body> + <div id="test" role="progressbar" aria-valuenow="1.1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuetext-Test-string-value.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuetext-Test-string-value.html new file mode 100644 index 0000000000..bbd0e1fd96 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuetext-Test-string-value.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role progressbar; inherited supported state or property "aria-valuetext" + value of "Test string value" + </title> + </head> + <body> + <div id="test" role="progressbar" aria-valuetext="Test string value">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-false.html new file mode 100644 index 0000000000..b00d45c098 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radio; inherited supported state or property "aria-checked" value + of "false" + </title> + </head> + <body> + <div id="test" role="radio" aria-checked="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-mixed.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-mixed.html new file mode 100644 index 0000000000..8a95837306 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-mixed.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radio; inherited supported state or property "aria-checked" value + of "mixed" + </title> + </head> + <body> + <div id="test" role="radio" aria-checked="mixed">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-true.html new file mode 100644 index 0000000000..61e816268a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radio; inherited supported state or property "aria-checked" value + of "true" + </title> + </head> + <body> + <div id="test" role="radio" aria-checked="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-false.html new file mode 100644 index 0000000000..9d5680f32c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radiogroup; inherited supported state or property "aria-expanded" + value of "false" + </title> + </head> + <body> + <div id="test" role="radiogroup" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-true.html new file mode 100644 index 0000000000..f6f9e13797 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radiogroup; inherited supported state or property "aria-expanded" + value of "true" + </title> + </head> + <body> + <div id="test" role="radiogroup" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-undefined.html new file mode 100644 index 0000000000..0532ea592e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radiogroup; inherited supported state or property "aria-expanded" + value of "undefined" + </title> + </head> + <body> + <div id="test" role="radiogroup" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-false.html new file mode 100644 index 0000000000..00b6052c2e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role region; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="region" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-true.html new file mode 100644 index 0000000000..2fdd56f4b7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role region; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="region" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-undefined.html new file mode 100644 index 0000000000..22bb837990 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role region; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="region" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/row-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/row-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..a24595a104 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/row-aria-activedescendant-obj1.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role row; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div role="grid"> + <div id="test" role="row" tabindex="0" aria-activedescendant="obj1"> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowgroup-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowgroup-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..b0ff899930 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowgroup-aria-activedescendant-obj1.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowgroup; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div role="grid"> + <div id="test" tabindex="0" role="rowgroup" aria-activedescendant="obj1"> + <div id="obj1" role="row"> + <div role="gridcell">r1c1</div> + <div role="gridcell">r1c2</div> + </div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-false.html new file mode 100644 index 0000000000..710d779f51 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-false.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-expanded="false">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-true.html new file mode 100644 index 0000000000..ac0e55a746 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-true.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-expanded="true">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-undefined.html new file mode 100644 index 0000000000..13d7bfc6ab --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-undefined.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-expanded="undefined">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-false.html new file mode 100644 index 0000000000..009a72d766 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-false.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-readonly" value + of "false" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-readonly="false">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-true.html new file mode 100644 index 0000000000..3061cc5f9e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-true.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-readonly" value + of "true" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-readonly="true">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-false.html new file mode 100644 index 0000000000..cdcba5973e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-false.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-required" value + of "false" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-required="false">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-true.html new file mode 100644 index 0000000000..7ad7b8e99a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-true.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-required" value + of "true" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-required="true">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-false.html new file mode 100644 index 0000000000..17c23801d5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-false.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-selected" value + of "false" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-selected="false">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-true.html new file mode 100644 index 0000000000..03e6d47980 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-true.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-selected" value + of "true" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-selected="true">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-undefined.html new file mode 100644 index 0000000000..439abbb05a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-undefined.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; inherited supported state or property "aria-selected" value + of "undefined" + </title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-selected="undefined" tabindex="0">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-false.html new file mode 100644 index 0000000000..2bcae837fd --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role search; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="search" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-true.html new file mode 100644 index 0000000000..16885b8d15 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role search; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="search" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-undefined.html new file mode 100644 index 0000000000..0e39ca5cf6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role search; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="search" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-false.html new file mode 100644 index 0000000000..7dcf0f9acf --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role status; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="status" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-true.html new file mode 100644 index 0000000000..05314e41f4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role status; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="status" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-undefined.html new file mode 100644 index 0000000000..18ffebc08a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role status; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="status" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-false.html new file mode 100644 index 0000000000..c5a83f98a3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-false.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tab; inherited supported state or property "aria-expanded" value of + "false" + </title> + </head> + <body> + <div role="tablist"> + <div id="test" role="tab" aria-expanded="false">Placeholder content</div> + </div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-true.html new file mode 100644 index 0000000000..43fa4f19c8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-true.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tab; inherited supported state or property "aria-expanded" value of + "true" + </title> + </head> + <body> + <div role="tablist"> + <div id="test" role="tab" aria-expanded="true">Placeholder content</div> + </div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-undefined.html new file mode 100644 index 0000000000..abd5917a31 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-undefined.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tab; inherited supported state or property "aria-expanded" value of + "undefined" + </title> + </head> + <body> + <div role="tablist"> + <div id="test" role="tab" aria-expanded="undefined">Placeholder content</div> + </div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..ffbe638b07 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-activedescendant-obj1.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tablist; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div id="test" role="tablist" tabindex="0" aria-activedescendant="obj1"> + <div id="obj1" role="tab">obj1</div> + </div> + + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-false.html new file mode 100644 index 0000000000..0966d5ba6e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-false.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tablist; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="tablist" aria-expanded="false"> + <div id="obj1" role="tab">obj1</div> + </div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-true.html new file mode 100644 index 0000000000..7ae72f3a6c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-true.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tablist; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="tablist" aria-expanded="true"> + <div id="obj1" role="tab">obj1</div> + </div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-undefined.html new file mode 100644 index 0000000000..24fb428df2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-undefined.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tablist; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="tablist" aria-expanded="undefined"> + <div id="obj1" role="tab">obj1</div> + </div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-false.html new file mode 100644 index 0000000000..b431a4a6b5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-false.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tabpanel; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div role="tablist"> + <div id="obj1" role="tab">obj1</div> + <div id="obj2" role="tab">obj2</div> + </div> + <div id="test" role="tabpanel" aria-expanded="false">Placeholder content</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-true.html new file mode 100644 index 0000000000..dd718b0e70 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-true.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tabpanel; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div role="tablist"> + <div id="obj1" role="tab">obj1</div> + <div id="obj2" role="tab">obj2</div> + </div> + <div id="test" role="tabpanel" aria-expanded="true">Placeholder content</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-undefined.html new file mode 100644 index 0000000000..b87facc44a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-undefined.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tabpanel; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div role="tablist"> + <div id="obj1" role="tab">obj1</div> + <div id="obj2" role="tab">obj2</div> + </div> + <div id="test" role="tabpanel" aria-expanded="undefined">Placeholder content</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-false.html new file mode 100644 index 0000000000..c0f2082082 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role timer; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="timer" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-true.html new file mode 100644 index 0000000000..40d571748a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role timer; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="timer" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-undefined.html new file mode 100644 index 0000000000..90260acbcd --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role timer; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="timer" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..ccc0c9f848 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role toolbar; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div id="test" role="toolbar" tabindex="0" aria-activedescendant="obj1"> + <div id="obj1" role="button">obj1</div> + <div id="obj2" role="button">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-false.html new file mode 100644 index 0000000000..aff3beeb1b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-false.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role toolbar; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="toolbar" aria-expanded="false"> + <div id="obj1" role="button">obj1</div> + <div id="obj2" role="button">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-true.html new file mode 100644 index 0000000000..fa949d2bf3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-true.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role toolbar; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="toolbar" aria-expanded="true"> + <div id="obj1" role="button">obj1</div> + <div id="obj2" role="button">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-undefined.html new file mode 100644 index 0000000000..f71027fbee --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-undefined.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role toolbar; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="toolbar" aria-expanded="undefined"> + <div id="obj1" role="button">obj1</div> + <div id="obj2" role="button">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-false.html new file mode 100644 index 0000000000..f867da4269 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tooltip; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="tooltip" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-true.html new file mode 100644 index 0000000000..1a52619fe2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tooltip; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="tooltip" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-undefined.html new file mode 100644 index 0000000000..8b24ad9ed8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tooltip; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="tooltip" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..c2d0d83391 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tree; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div id="test" role="tree" aria-activedescendant="obj1" tabindex="0"> + <div id="obj1" role="treeitem">obj1</div> + <div id="obj2" role="treeitem">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-false.html new file mode 100644 index 0000000000..c13f331fd9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-false.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tree; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="tree" aria-expanded="false"> + <div role="treeitem" id="obj1">obj1</div> + <div role="treeitem" id="obj2">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-true.html new file mode 100644 index 0000000000..a2545ef32c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-true.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tree; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="tree" aria-expanded="true"> + <div role="treeitem" id="obj1">obj1</div> + <div role="treeitem" id="obj2">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-undefined.html new file mode 100644 index 0000000000..5379f70395 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-undefined.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tree; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="tree" aria-expanded="undefined"> + <div role="treeitem" id="obj1">obj1</div> + <div role="treeitem" id="obj2">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..bce72b08a0 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-activedescendant-obj1.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-activedescendant" + value of "obj1" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-activedescendant="obj1" tabindex="0"> + <div role="row"> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + <div role="row"> + <div id="obj3" role="gridcell">obj3</div> + <div id="obj4" role="gridcell">obj4</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-false.html new file mode 100644 index 0000000000..7b5d78c98e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-false.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-expanded" value + of "false" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-expanded="false"> + <div role="row"> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + <div role="row"> + <div id="obj3" role="gridcell">obj3</div> + <div id="obj4" role="gridcell">obj4</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-true.html new file mode 100644 index 0000000000..c06b957a01 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-true.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-expanded" value + of "true" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-expanded="true"> + <div role="row"> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + <div role="row"> + <div id="obj3" role="gridcell">obj3</div> + <div id="obj4" role="gridcell">obj4</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-undefined.html new file mode 100644 index 0000000000..ef2232bf89 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-undefined.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-expanded" value + of "undefined" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-expanded="undefined"> + <div role="row"> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + <div role="row"> + <div id="obj3" role="gridcell">obj3</div> + <div id="obj4" role="gridcell">obj4</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-level-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-level-1.html new file mode 100644 index 0000000000..1a3a3ef0c6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-level-1.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-level" value + of "1" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-level="1" tabindex="0"> + <div role="row"> + <div role="gridcell" tabindex="-1" >Placeholder content</div> + <div role="gridcell" id="obj1">obj1</div> + <div role="gridcell" id="obj2">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-false.html new file mode 100644 index 0000000000..ac6b7662de --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-false.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-multiselectable" + value of "false" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-multiselectable="false"> + <div role="row"> + <div role="gridcell">Placeholder content</div> + <div role="gridcell" id="obj1">obj1</div> + <div role="gridcell" id="obj2">obj2</div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-true.html new file mode 100644 index 0000000000..ee7696ea5f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-true.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-multiselectable" + value of "true" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-multiselectable="true"> + <div role="row"> + <div role="gridcell">Placeholder content</div> + <div role="gridcell" id="obj1">obj1</div> + <div role="gridcell" id="obj2">obj2</div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-false.html new file mode 100644 index 0000000000..a8f5e6e86d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-false.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-readonly" value + of "false" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-readonly="false"> + <div role="row"> + <div role="gridcell">Placeholder content</div> + <div role="gridcell" id="obj1">obj1</div> + <div role="gridcell" id="obj2">obj2</div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-true.html new file mode 100644 index 0000000000..1ab9c58433 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-true.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-readonly" value + of "true" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-readonly="true"> + <div role="row"> + <div role="gridcell">Placeholder content</div> + <div role="gridcell" id="obj1">obj1</div> + <div role="gridcell" id="obj2">obj2</div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-false.html new file mode 100644 index 0000000000..702655bd45 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-false.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-required" value + of "false" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-required="false"> + <div role="row"> + <div role="gridcell">Placeholder content</div> + <div role="gridcell" id="obj1">obj1</div> + <div role="gridcell" id="obj2">obj2</div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-true.html new file mode 100644 index 0000000000..09c0bb6d9f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-true.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treegrid; inherited supported state or property "aria-required" value + of "true" + </title> + </head> + <body> + <div id="test" role="treegrid" aria-required="true"> + <div role="row"> + <div role="gridcell">Placeholder content</div> + <div role="gridcell" id="obj1">obj1</div> + <div role="gridcell" id="obj2">obj2</div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-false.html new file mode 100644 index 0000000000..592cd974e9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-checked" value + of "false" + </title> + </head> + <body> + <div role="tree"> + <div id="test" role="treeitem" aria-checked="false">Placeholder content</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-mixed.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-mixed.html new file mode 100644 index 0000000000..6a29dfff75 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-mixed.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-checked" value + of "mixed" + </title> + </head> + <body> + <div role="tree"> + <div id="test" role="treeitem" aria-checked="mixed">Placeholder content</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-true.html new file mode 100644 index 0000000000..3745c86587 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-checked" value + of "true" + </title> + </head> + <body> + <div role="tree"> + <div id="test" role="treeitem" aria-checked="true">Placeholder content</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-undefined.html new file mode 100644 index 0000000000..ede64afbaa --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-undefined.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-checked" value + of "undefined" + </title> + </head> + <body> + <div role="tree"> + <div id="test" role="treeitem" aria-checked="undefined">Placeholder content</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-level-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-level-1.html new file mode 100644 index 0000000000..adc7b23ccc --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-level-1.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-level" value + of "1" + </title> + </head> + <body> + <div role="tree" tabindex="0"> + <div id="test" role="treeitem" aria-level="1">Placeholder content</div> + <div id="obj1" role="treeitem">obj1</div> + <div id="obj2" role="treeitem">obj2</div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-posinset-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-posinset-1.html new file mode 100644 index 0000000000..feb152c5a9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-posinset-1.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-posinset" value + of "1" + </title> + </head> + <body> + <div role="tree" tabindex="0"> + <div id="test" role="treeitem" aria-posinset="1">Placeholder content</div> + <div id="obj1" role="treeitem">obj1</div> + <div id="obj2" role="treeitem">obj2</div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-false.html new file mode 100644 index 0000000000..bce9733b76 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-false.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-selected" value + of "false" + </title> + </head> + <body> + <div role="tree" tabindex="0"> + <div id="test" role="treeitem" aria-selected="false">Placeholder content</div> + <div id="obj1" role="treeitem">obj1</div> + <div id="obj2" role="treeitem">obj2</div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-true.html new file mode 100644 index 0000000000..11e529a464 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-true.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-selected" value + of "true" + </title> + </head> + <body> + <div role="tree" tabindex="0"> + <div id="test" role="treeitem" aria-selected="true">Placeholder content</div> + <div id="obj1" role="treeitem">obj1</div> + <div id="obj2" role="treeitem">obj2</div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-undefined.html new file mode 100644 index 0000000000..d24014b0a4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-undefined.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-selected" value + of "undefined" + </title> + </head> + <body> + <div role="tree" tabindex="0"> + <div id="test" role="treeitem" aria-selected="undefined">Placeholder content</div> + <div id="obj1" role="treeitem">obj1</div> + <div id="obj2" role="treeitem">obj2</div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-setsize-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-setsize-1.html new file mode 100644 index 0000000000..57005077d1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-setsize-1.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role treeitem; inherited supported state or property "aria-setsize" value + of "1" + </title> + </head> + <body> + <div role="tree"> + <div id="test" role="treeitem" aria-posinset="1" aria-setsize="1">Placeholder content</div> + </div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-false.html new file mode 100644 index 0000000000..81e7807e17 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role button; supported state or property "aria-expanded" value of "false"</title> + </head> + <body> + <div id="test" role="button" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-true.html new file mode 100644 index 0000000000..6fd1ed8b6b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role button; supported state or property "aria-expanded" value of "true"</title> + </head> + <body> + <div id="test" role="button" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-undefined.html new file mode 100644 index 0000000000..b51b006b97 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role button; supported state or property "aria-expanded" value of "undefined"</title> + </head> + <body> + <div id="test" role="button" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-false.html new file mode 100644 index 0000000000..c7aeae0a0a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role button; supported state or property "aria-pressed" value of "false"</title> + </head> + <body> + <div id="test" role="button" aria-pressed="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-mixed.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-mixed.html new file mode 100644 index 0000000000..510846d639 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-mixed.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role button; supported state or property "aria-pressed" value of "mixed"</title> + </head> + <body> + <div id="test" role="button" aria-pressed="mixed">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-true.html new file mode 100644 index 0000000000..f99a0e1f5e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role button; supported state or property "aria-pressed" value of "true"</title> + </head> + <body> + <div id="test" role="button" aria-pressed="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-undefined.html new file mode 100644 index 0000000000..8591e12f07 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role button; supported state or property "aria-pressed" value of "undefined"</title> + </head> + <body> + <div id="test" role="button" aria-pressed="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-ascending.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-ascending.html new file mode 100644 index 0000000000..53fc144796 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-ascending.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; supported state or property "aria-sort" value of "ascending"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-sort="ascending">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-descending.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-descending.html new file mode 100644 index 0000000000..ebffc1be7c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-descending.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; supported state or property "aria-sort" value of "descending"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-sort="descending">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-none.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-none.html new file mode 100644 index 0000000000..fce4f994d5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-none.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; supported state or property "aria-sort" value of "none"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-sort="none">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-other.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-other.html new file mode 100644 index 0000000000..a92ba0bfc3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-other.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role columnheader; supported state or property "aria-sort" value of "other"</title> +</head> +<body> + <div role="grid"> + <div role="row"> + <span id="test" role="columnheader" aria-sort="other">Placeholder content</span> + <span role="columnheader">header 2</span> + <span role="columnheader">header 3</span> + </div> + <div role="row"> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + <div role="row"> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + <span role="gridcell">obj3</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-both.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-both.html new file mode 100644 index 0000000000..93df0ede04 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-both.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; supported state or property "aria-autocomplete" value of + "both" + </title> + </head> + <body> + <input type="text" aria-label="Tag" role="combobox" + aria-autocomplete="both" aria-owns="owned_listbox" aria-activedescendant="selected_option" aria-expanded="true"> + <ul role="listbox" id="owned_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> + </ul> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-inline.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-inline.html new file mode 100644 index 0000000000..cc202875c1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-inline.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; supported state or property "aria-autocomplete" value of + "inline" + </title> + </head> + <body> + <input type="text" aria-label="Tag" role="combobox" + aria-autocomplete="inline" aria-owns="owned_listbox" aria-activedescendant="selected_option" aria-expanded="true"> + <ul role="listbox" id="owned_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> + </ul> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-list.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-list.html new file mode 100644 index 0000000000..060bf24c7a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-list.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; supported state or property "aria-autocomplete" value of + "list" + </title> + </head> + <body> + <input type="text" aria-label="Tag" role="combobox" + aria-autocomplete="list" aria-owns="owned_listbox" aria-activedescendant="selected_option" aria-expanded="true"> + <ul role="listbox" id="owned_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> + </ul> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-none.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-none.html new file mode 100644 index 0000000000..33be42e05f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-none.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role combobox; supported state or property "aria-autocomplete" value of + "none" + </title> + </head> + <body> + <input type="text" aria-label="Tag" role="combobox" + aria-autocomplete="none" aria-owns="owned_listbox" aria-activedescendant="selected_option" aria-expanded="true"> + <ul role="listbox" id="owned_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> + </ul> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-false.html new file mode 100644 index 0000000000..98703bd1e3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role document; supported state or property "aria-expanded" value of "false"</title> + </head> + <body> + <div id="test" role="document" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-true.html new file mode 100644 index 0000000000..b1ebb6b404 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role document; supported state or property "aria-expanded" value of "true"</title> + </head> + <body> + <div id="test" role="document" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-undefined.html new file mode 100644 index 0000000000..320a98c824 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role document; supported state or property "aria-expanded" value of "undefined"</title> + </head> + <body> + <div id="test" role="document" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-false.html new file mode 100644 index 0000000000..e5f6b6342a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role grid; supported state or property "aria-multiselectable" value of + "false" + </title> + </head> + <body> + <div id="test" role="grid" aria-multiselectable="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-true.html new file mode 100644 index 0000000000..2cba1e0d87 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role grid; supported state or property "aria-multiselectable" value of + "true" + </title> + </head> + <body> + <div id="test" role="grid" aria-multiselectable="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-false.html new file mode 100644 index 0000000000..9793dfa069 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role grid; supported state or property "aria-readonly" value of "false"</title> + </head> + <body> + <div id="test" role="grid" aria-readonly="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-true.html new file mode 100644 index 0000000000..ff2e3b82dd --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role grid; supported state or property "aria-readonly" value of "true"</title> + </head> + <body> + <div id="test" role="grid" aria-readonly="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-false.html new file mode 100644 index 0000000000..682bd32cce --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-false.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role gridcell; supported state or property "aria-readonly" value of "false"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div id="test" role="gridcell" aria-readonly="false">Placeholder content</div> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-true.html new file mode 100644 index 0000000000..4d795cd2b4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-true.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role gridcell; supported state or property "aria-readonly" value of "true"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div id="test" role="gridcell" aria-readonly="true">Placeholder content</div> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-false.html new file mode 100644 index 0000000000..7fe356c7c9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-false.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role gridcell; supported state or property "aria-required" value of "false"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div id="test" role="gridcell" aria-required="false">Placeholder content</div> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-true.html new file mode 100644 index 0000000000..c3de53e713 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-true.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role gridcell; supported state or property "aria-required" value of "true"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div id="test" role="gridcell" aria-required="true">Placeholder content</div> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-false.html new file mode 100644 index 0000000000..339b0564e9 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-false.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role gridcell; supported state or property "aria-selected" value of "false"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div id="test" role="gridcell" aria-selected="false">Placeholder content</div> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-true.html new file mode 100644 index 0000000000..8a52fab7aa --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-true.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role gridcell; supported state or property "aria-selected" value of "true"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div id="test" role="gridcell" aria-selected="true">Placeholder content</div> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-undefined.html new file mode 100644 index 0000000000..d276b27c2c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-undefined.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role gridcell; supported state or property "aria-selected" value of "undefined"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <div id="test" role="gridcell" aria-selected="undefined">Placeholder content</div> + <div id="obj1" role="gridcell">obj1</div> + <div id="obj2" role="gridcell">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-heading-aria-level-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-heading-aria-level-1.html new file mode 100644 index 0000000000..a57d5d59f3 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-heading-aria-level-1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role heading; supported state or property "aria-level" value of "1"</title> + </head> + <body> + <div id="test" role="heading" aria-level="1">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-false.html new file mode 100644 index 0000000000..a372b6e442 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role link; supported state or property "aria-expanded" value of "false"</title> + </head> + <body> + <div id="test" role="link" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-true.html new file mode 100644 index 0000000000..0dcaa32a5e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role link; supported state or property "aria-expanded" value of "true"</title> + </head> + <body> + <div id="test" role="link" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-undefined.html new file mode 100644 index 0000000000..cd8e03704f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role link; supported state or property "aria-expanded" value of "undefined"</title> + </head> + <body> + <div id="test" role="link" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-false.html new file mode 100644 index 0000000000..d7c66a6e3e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listbox; supported state or property "aria-multiselectable" value + of "false" + </title> + </head> + <body> + <div id="test" role="listbox" aria-multiselectable="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-true.html new file mode 100644 index 0000000000..e0378cecbe --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-true.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listbox; supported state or property "aria-multiselectable" value + of "true" + </title> + </head> + <body> + <div id="test" role="listbox" aria-multiselectable="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-false.html new file mode 100644 index 0000000000..18d6da189d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listbox; supported state or property "aria-required" value of "false"</title> + </head> + <body> + <div id="test" role="listbox" aria-required="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-true.html new file mode 100644 index 0000000000..707442f0ed --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listbox; supported state or property "aria-required" value of "true"</title> + </head> + <body> + <div id="test" role="listbox" aria-required="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-level-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-level-1.html new file mode 100644 index 0000000000..fd6146a495 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-level-1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listitem; supported state or property "aria-level" value of "1"</title> + </head> + <body> + <div role="list"><div id="test" role="listitem" aria-level="1">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-posinset-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-posinset-1.html new file mode 100644 index 0000000000..3cab9141ae --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-posinset-1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listitem; supported state or property "aria-posinset" value of "1"</title> + </head> + <body> + <div role="list"><div id="test" role="listitem" aria-posinset="1">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-setsize-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-setsize-1.html new file mode 100644 index 0000000000..4ef2da2d38 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-setsize-1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role listitem; supported state or property "aria-setsize" value of "1"</title> + </head> + <body> + <div role="list"><div id="test" role="listitem" aria-setsize="1">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-false.html new file mode 100644 index 0000000000..2bff3b29c2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role option; supported state or property "aria-checked" value of "false"</title> + </head> + <body> + <div role="listbox"><div id="test" role="option" aria-checked="false">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-mixed.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-mixed.html new file mode 100644 index 0000000000..33fee796a8 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-mixed.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role option; supported state or property "aria-checked" value of "mixed"</title> + </head> + <body> + <div role="listbox"><div id="test" role="option" aria-checked="mixed">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-true.html new file mode 100644 index 0000000000..49c8209952 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role option; supported state or property "aria-checked" value of "true"</title> + </head> + <body> + <div role="listbox"><div id="test" role="option" aria-checked="true">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-undefined.html new file mode 100644 index 0000000000..e372ff93ae --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role option; supported state or property "aria-checked" value of "undefined"</title> + </head> + <body> + <div role="listbox"><div id="test" role="option" aria-checked="undefined">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-posinset-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-posinset-1.html new file mode 100644 index 0000000000..7fbcc50427 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-posinset-1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role option; supported state or property "aria-posinset" value of "1"</title> + </head> + <body> + <div role="listbox"><div id="test" role="option" aria-posinset="1">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-false.html new file mode 100644 index 0000000000..56db6c2ae5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role option; supported state or property "aria-selected" value of "false"</title> + </head> + <body> + <div role="listbox"><div id="test" role="option" aria-selected="false">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-true.html new file mode 100644 index 0000000000..eaf138f2ef --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role option; supported state or property "aria-selected" value of "true"</title> + </head> + <body> + <div role="listbox"><div id="test" role="option" aria-selected="true">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj1</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-undefined.html new file mode 100644 index 0000000000..43489a0d2b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role option; supported state or property "aria-selected" value of "undefined"</title> + </head> + <body> + <div role="listbox"><div id="test" role="option" aria-selected="undefined">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-setsize-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-setsize-1.html new file mode 100644 index 0000000000..6a8b379896 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-setsize-1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role option; supported state or property "aria-setsize" value of "1"</title> + </head> + <body> + <div role="listbox"><div id="test" role="option" aria-setsize="1">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-false.html new file mode 100644 index 0000000000..fe956b50b2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radiogroup; supported state or property "aria-required" value of "false"</title> + </head> + <body> + <div id="test" role="radiogroup" aria-required="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-true.html new file mode 100644 index 0000000000..6bf6b11bef --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role radiogroup; supported state or property "aria-required" value of "true"</title> + </head> + <body> + <div id="test" role="radiogroup" aria-required="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-level-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-level-1.html new file mode 100644 index 0000000000..9c1ea0b174 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-level-1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role row; supported state or property "aria-level" value of "1"</title> + </head> + <body> + <div role="grid"><div id="test" role="row" aria-level="1">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-false.html new file mode 100644 index 0000000000..832fc16a1e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role row; supported state or property "aria-selected" value of "false"</title> + </head> + <body> + <div role="grid"><div id="test" role="row" aria-selected="false">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-true.html new file mode 100644 index 0000000000..2977712b83 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role row; supported state or property "aria-selected" value of "true"</title> + </head> + <body> + <div role="grid"><div id="test" role="row" aria-selected="true">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-undefined.html new file mode 100644 index 0000000000..cc4f6a828a --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role row; supported state or property "aria-selected" value of "undefined"</title> + </head> + <body> + <div role="grid"><div id="test" role="row" aria-selected="undefined"><div role="gridcell">Placeholder content</div></div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-ascending.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-ascending.html new file mode 100644 index 0000000000..79f3316a9e --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-ascending.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; supported state or property "aria-sort" value of "ascending"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-sort="ascending">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-descending.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-descending.html new file mode 100644 index 0000000000..beca847b75 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-descending.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; supported state or property "aria-sort" value of "descending"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-sort="descending">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-none.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-none.html new file mode 100644 index 0000000000..a1d466f652 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-none.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; supported state or property "aria-sort" value of "none"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-sort="none">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-other.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-other.html new file mode 100644 index 0000000000..6ed7626aa4 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-other.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role rowheader; supported state or property "aria-sort" value of "other"</title> + </head> + <body> + <div role="grid"> + <div role="row"> + <span id="test" role="rowheader" aria-sort="other">Placeholder content</span> + <span role="gridcell" id="obj1">obj1</span> + <span role="gridcell" id="obj2">obj2</span> + </div> + <div role="row"> + <span role="rowheader">header cell 2</span> + <span role="gridcell">obj1</span> + <span role="gridcell">obj2</span> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-false.html new file mode 100644 index 0000000000..a14c3c4382 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role separator; supported state or property "aria-expanded" value of "false"</title> + </head> + <body> + <div id="test" role="separator" aria-expanded="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-true.html new file mode 100644 index 0000000000..c2d399ea47 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role separator; supported state or property "aria-expanded" value of "true"</title> + </head> + <body> + <div id="test" role="separator" aria-expanded="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-undefined.html new file mode 100644 index 0000000000..8f350b7159 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role separator; supported state or property "aria-expanded" value of "undefined"</title> + </head> + <body> + <div id="test" role="separator" aria-expanded="undefined">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-horizontal.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-horizontal.html new file mode 100644 index 0000000000..e888bb90e6 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-horizontal.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role separator; supported state or property "aria-orientation" value of + "horizontal" + </title> + </head> + <body> + <div id="test" role="separator" aria-orientation="horizontal">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-vertical.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-vertical.html new file mode 100644 index 0000000000..5dec81b834 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-vertical.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role separator; supported state or property "aria-orientation" value of + "vertical" + </title> + </head> + <body> + <div id="test" role="separator" aria-orientation="vertical">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-false.html new file mode 100644 index 0000000000..e0865918b0 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tab; supported state or property "aria-selected" value of "false"</title> + </head> + <body> + <div role="tablist"><div id="test" role="tab" aria-selected="false">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-true.html new file mode 100644 index 0000000000..61c5ecedec --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tab; supported state or property "aria-selected" value of "true"</title> + </head> + <body> + <div role="tablist"><div id="test" role="tab" aria-selected="true">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-undefined.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-undefined.html new file mode 100644 index 0000000000..9e7417a3c7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-undefined.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tab; supported state or property "aria-selected" value of "undefined"</title> + </head> + <body> + <div role="tablist"><div id="test" role="tab" aria-selected="undefined">Placeholder content</div></div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tablist-aria-level-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tablist-aria-level-1.html new file mode 100644 index 0000000000..0e740d8fed --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tablist-aria-level-1.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tablist; supported state or property "aria-level" value of "1"</title> + </head> + <body> + <div id="test" role="tablist" aria-level="1"> + <div id="obj1" role="tab">obj1</div> + <div role="tablist" aria-level="2"> + <div id="obj2" role="tab">obj2</div> + </div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-activedescendant-obj1.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-activedescendant-obj1.html new file mode 100644 index 0000000000..732dfa0d74 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-activedescendant-obj1.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>Test Case 234 + </title> + </head> + <body> + <div id="test" role="textbox" aria-activedescendant="obj1" tabindex="0">Placeholder content + <div id="obj1" role="button">obj1</div> + </div> + <div id="obj2">obj2</div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-both.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-both.html new file mode 100644 index 0000000000..8e6136e1eb --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-both.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-autocomplete" value of + "both" + </title> + </head> + <body> + <div id="test" role="textbox" aria-autocomplete="both">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-inline.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-inline.html new file mode 100644 index 0000000000..fa9e009852 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-inline.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-autocomplete" value of + "inline" + </title> + </head> + <body> + <div id="test" role="textbox" aria-autocomplete="inline">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-list.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-list.html new file mode 100644 index 0000000000..85d7bfa3b2 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-list.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-autocomplete" value of + "list" + </title> + </head> + <body> + <div id="test" role="textbox" aria-autocomplete="list">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-none.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-none.html new file mode 100644 index 0000000000..6594bd7263 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-none.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-autocomplete" value of + "none" + </title> + </head> + <body> + <div id="test" role="textbox" aria-autocomplete="none">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-false.html new file mode 100644 index 0000000000..6c047d141c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-multiline" value of "false"</title> + </head> + <body> + <div id="test" role="textbox" aria-multiline="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-true.html new file mode 100644 index 0000000000..8231e43bc5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-multiline" value of "true"</title> + </head> + <body> + <div id="test" role="textbox" aria-multiline="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-false.html new file mode 100644 index 0000000000..c007dab15b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-readonly" value of "false"</title> + </head> + <body> + <div id="test" role="textbox" aria-readonly="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-true.html new file mode 100644 index 0000000000..6525bc02b5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-readonly" value of "true"</title> + </head> + <body> + <div id="test" role="textbox" aria-readonly="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-false.html new file mode 100644 index 0000000000..eb496bc14b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-false.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-required" value of "false"</title> + </head> + <body> + <div id="test" role="textbox" aria-required="false">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-true.html new file mode 100644 index 0000000000..88ebdd6a25 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-true.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role textbox; supported state or property "aria-required" value of "true"</title> + </head> + <body> + <div id="test" role="textbox" aria-required="true">Placeholder content</div> + <div id="obj1">obj1</div> + <div id="obj2">obj2</div> + </body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-false.html new file mode 100644 index 0000000000..17ffdcc6fb --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-false.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tree; supported state or property "aria-multiselectable" value of + "false" + </title> + </head> + <body> + <div id="test" role="tree" aria-multiselectable="false"> + <div role="treeitem" id="obj1">obj1</div> + <div role="treeitem" id="obj2">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-true.html new file mode 100644 index 0000000000..9af7d0cc6c --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-true.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tree; supported state or property "aria-multiselectable" value of + "true" + </title> + </head> + <body> + <div id="test" role="tree" aria-multiselectable="true"> + <div role="treeitem" id="obj1">obj1</div> + <div role="treeitem" id="obj2">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-false.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-false.html new file mode 100644 index 0000000000..d049bf6523 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-false.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tree; supported state or property "aria-required" value of "false"</title> + </head> + <body> + <div id="test" role="tree" aria-required="false"> + <div role="treeitem" id="obj1">obj1</div> + <div role="treeitem" id="obj2">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-true.html b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-true.html new file mode 100644 index 0000000000..86fbbc1a51 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-true.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title><div> with role tree; supported state or property "aria-required" value of "true"</title> + </head> + <body> + <div id="test" role="tree" aria-required="true"> + <div role="treeitem" id="obj1">obj1</div> + <div role="treeitem" id="obj2">obj2</div> + </div> + </body> +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/selected-state/670.html b/testing/web-platform/tests/conformance-checkers/html-aria/selected-state/670.html new file mode 100644 index 0000000000..de95a2e19d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/selected-state/670.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 670</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 670</h1> + + <ul role="listbox"> + <li role="option" aria-selected="true" id="ID_OPTION" tabindex="0">Option 1</li> + <li role="option">Option 2</li> + </ul> + + <h2>Description</h2> + <p>For an element with role role "option" which is a child of an element with + role "listbox", and the value of the "aria-selected" attribute is equal + to "true".</p> + + <script> + + function setFocus() { + var node = document.getElementById('ID_OPTION'); + node.focus(); + } + + window.addEventListener('load', setFocus); + </script> + </body> + +</html> + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/selected-state/671.html b/testing/web-platform/tests/conformance-checkers/html-aria/selected-state/671.html new file mode 100644 index 0000000000..4d36b22cf1 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/selected-state/671.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 671</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 671</h1> + + <ul role="listbox"> + <li role="option" aria-selected="false" id="ID_OPTION" tabindex="0">Option 1</li> + <li role="option">Option 2</li> + </ul> + + <h2>Description</h2> + <p>For an element with role role "option" which is a child of an element with + role "listbox", and the value of the "aria-selected" attribute is NOT equal + to "true" or the attribute is undefined.</p> + + + <script> + + function setFocus() { + var test_node = document.getElementById('ID_OPTION'); + test_node.focus(); + } + + window.addEventListener('load', setFocus); + </script> + </body> + +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/selected-state/672.html b/testing/web-platform/tests/conformance-checkers/html-aria/selected-state/672.html new file mode 100644 index 0000000000..962e6b944b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/selected-state/672.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 672</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 672</h1> + <ul role="listbox"> + <li role="option" aria-selected="false" id="TEST_ID" tabindex="0">Option 1</li> + <li role="option">Option 2</li> + </ul> + + <h2>Description</h2> + <p>For an element with role "option" which is a child of an element with role "listbox", + and the value of the "aria-selected" attribute changes (from "true", or to "true").</p> + + <script> + function changeSelectedState() { + var test_node = document.getElementById('TEST_ID'); + var state = test_node.getAttribute('aria-selected'); + + if (state === 'false') test_node.setAttribute('aria-selected', 'true'); + else test_node.setAttribute('aria-selected', 'true'); + + } + + function setFocus() { + var test_node = document.getElementById('TEST_ID'); + test_node.focus(); + setTimeout(changeSelectedState,1000); + } + + window.addEventListener('load', setFocus); + </script> + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-1.html b/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-1.html new file mode 100644 index 0000000000..04786b8066 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-1.html @@ -0,0 +1,86 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 763</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 763</h1> + + <div role="listbox"> + <div role="option" aria-setsize="3" aria-posinset="1" tabindex="-1">Option 1</div> + <div role="option" aria-setsize="3" aria-posinset="2" tabindex="-1" id="ID_TARGET">Option 2</div> + <div role="option" aria-setsize="3" aria-posinset="3" tabindex="-1">Option 3</div> + </div> + + <h2>Description</h2> + <p>A div element with the role='listbox' has three child div elements each with + role='option' and aria-setsize='3'. The 1st child div element has aria-posinset='1', + the 2nd child div element has aria-posinset='2' and the 3rd child div element + has aria-posinset='3'.</p> + + + <h2>Expected Results</h2> + + <h3>MSAA + UIA Express</h3> + <ul> + <li>role="tree": ROLE_SYSTEM_LIST</li> + <li>role="treeitem": ROLE_SYSTEM_LISTITEM</li> + <li>LegacyIAccessible.Description will be in the form X of Y, + where X is the value of aria-posinset and Y is the value of aria-setsize + </li> + </ul> + + <h3>MSAA + IAccessible2</h3> + <ul> + <li>role="tree": ROLE_SYSTEM_LIST</li> + <li>role="treeitem": ROLE_SYSTEM_LISTITEM</li> + <li>The structure should be reflected in the accessibility tree as directed by aria-posinset.</li> + <li>function groupPosition() should be available and have the following results: + <ul> + <li>groupLevel: 1</li> + <li>similarItemsInGroup: 3</li> + <li>positionInGroup: aria-posinest value</li> + </ul> + </li> + </ul> + + <h3>UIA</h3> + <ul> + <li>role="tree": List</li> + <li>role="treeitem": ListItem</li> + <li>LegacyIAccessible.Description will be in the form X of Y, + where X is the value of aria-posinset and Y is the value of aria-setsize</li> + </ul> + + + <h3>ATK/AT-SPI</h3> + <ul> + <li>role="tree": ROLE_LIST</li> + <li>role="treeitem": ROLE_LISTITEM</li> + <li>aria-setsize: not mapped to setsize: value</li> + <li>aria-posinset: is mapped to posinset: value</li> + </ul> + + <h3>AXAPI</h3> + <ul> + <li>role="tree": AXList = 'list'</li> + <li>role="treeitem": AXGroup = 'group'</li> + <li>aria-setsize: is mapped to AXARIASetSize: value</li> + <li>aria-posinset: is mapped to AXARIAPosInSet: value</li> + </ul> + + + <script> + + function setFocus() { + var node = document.getElementById('ID_TARGET'); + node.focus(); + } + + window.addEventListener('load', setFocus); + </script> + </body> +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-5.html b/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-5.html new file mode 100644 index 0000000000..1ee058526b --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-5.html @@ -0,0 +1,71 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 767</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 767</h1> + + <div role="list"> + <div role="listitem">Item 1</div> + <div role="listitem">Item 2</div> + <div role="listitem">Item 3</div> + <div role="listitem">Item 4</div> + </div> + + <h2>Description</h2> + <p>A div element with the role='list' with four child div elements with with the role='listitem'.</p> + + <h2>Expected Results</h2> + + <h3>MSAA + UIA Express</h3> + <ul> + <li>role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY</li> + <li>role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY</li> + <li>LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 4</li> + </ul> + + <h3>MSAA + IAccessible2</h3> + <ul> + <li>role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY</li> + <li>role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY</li> + <li>The structure should be reflected in the accessibility tree as directed by aria-posinset.</li> + <li>function groupPosition() should be available and have the following results: + <ul> + <li>object attributes setsize:4, posinset:1-based position in the list></li> + <li>groupLevel: 0 or 1</li> + <li>similarItemsInGroup: 4</li> + <li>positionInGroup: position in list</li> + </ul> + </li> + </ul> + + <h3>UIA</h3> + <ul> + <li>role="list": List</li> + <li>role="listitem": Listitem</li> + <li>LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 4</li> + </ul> + + <h3>ATK/AT-SPI</h3> + <ul> + <li>role="list": ROLE_LIST and STATE_EDITABLE is not exposed</li> + <li>role="listitem": ROLE_LISTITEM and STATE_EDITABLE is not exposed</li> + <li>object attributes setsize:4, posinset:1-based position in the list></li> + </ul> + + <h3>AXAPI</h3> + <ul> + <li>role="list": AXList and AXContentList = 'content list'</li> + <li>role="listitem": AXGroup = nil</li> + <li>AXARIASetSize: 4</li> + <li>AXARIAPosInSet: 1 based position in list</li> + <li>AXDisclosureLevel: 0 or 1 </li> + </ul> + </body> +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-6.html b/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-6.html new file mode 100644 index 0000000000..af8979c27d --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-6.html @@ -0,0 +1,75 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 768</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 768</h1> + + <div role="list"> + <div role="listitem" aria-level="2">Item 1</div> + <div role="listitem" aria-level="2">Item 2</div> + <div role="listitem" aria-level="2">Item 3</div> + <div role="listitem" aria-level="2">Item 4</div> + </div> + + <h2>Description</h2> + <p>A div element with the role='list' with four child div elements with with the role='listitem' with a aria-level='2'.</p> + + <h2>Expected Results</h2> + + <h3>MSAA + UIA Express</h3> + <ul> + <li>role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY</li> + <li>role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY</li> + <li>LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 4</li> + <li>Expose level=1 in AriaProperites for list items</li> + </ul> + + <h3>MSAA + IAccessible2</h3> + <ul> + <li>role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY</li> + <li>role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY</li> + <li>The structure should be reflected in the accessibility tree as directed by aria-posinset.</li> + <li>function groupPosition() should be available and have the following results: + <ul> + <li>groupLevel: 2</li> + <li>similarItemsInGroup: 4</li> + <li>positionInGroup: position in list</li> + </ul> + </li> + </ul> + + <h3>UIA</h3> + <ul> + <li>role="list": List</li> + <li>role="listitem": Listitem</li> + <li>LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 4</li> + <li>Expose level=1 in AriaProperites for list items</li> + </ul> + + <h3>ATK/AT-SPI</h3> + <ul> + <li>role="list": ROLE_LIST and STATE_EDITABLE is not exposed</li> + <li>role="listitem": ROLE_LISTITEM and STATE_EDITABLE is not exposed</li> + <li>setsize: 4</li> + <li>posinset: position in list</li> + <li>level: 2 </li> + </ul> + + <h3>AXAPI</h3> + <ul> + <li>role="list": AXList and AXContentList = 'content list'</li> + <li>role="listitem": AXGroup = nil</li> + <li>AXARIASetSize: 4</li> + <li>AXARIAPosInSet: position in list</li> + <li>AXDisclosureLevel: 2 </li> + </ul> + + </body> +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/testcase-769.html b/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/testcase-769.html new file mode 100644 index 0000000000..106813d281 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/setsize-posinset-level/testcase-769.html @@ -0,0 +1,89 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 769</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 769</h1> + + <div role="list"> + <div role="listitem">Item 1 + <div role="group"> + <div role="listitem">Item 1A</div> + <div role="listitem">Item 1B</div> + </div> + </div> + <div role="listitem">Item 2 + <div role="group"> + <div role="listitem">Item 2A</div> + <div role="listitem">Item 2B</div> + </div> + </div> + </div> + + <h2>Description</h2> + <p>A div element with the role='list' with two child div elements with with the role='listitem'. + Each of the child div element also contain a div element with the role="group" with two child + div elements with the role='listitem'.</p> + + <h2>Expected Results</h2> + + <h3>MSAA + UIA Express</h3> + <ul> + <li>role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY</li> + <li>role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY</li> + <li>LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 2 (since all lists have 2 items)</li> + <li>Expose level=1 in AriaProperites for list items for "Item 1" and "Item 2"</li> + <li>Expose level=2 in AriaProperites for list items for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"</li> + </ul> + + <h3>MSAA + IAccessible2</h3> + <ul> + <li>role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY</li> + <li>role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY</li> + <li>function groupPosition() should be available and have the following results: + <ul> + <li>groupLevel: 1 for "Item 1" and "Item 2" (since all lists have 2 items)</li> + <li>groupLevel: 2 for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"</li> + <li>similarItemsInGroup: 2</li> + <li>positionInGroup: position in list</li> + </ul> + </li> + </ul> + + <h3>UIA</h3> + <ul> + <li>role="list": List</li> + <li>role="listitem": Listitem</li> + <li>LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 2 (since all lists have 2 items)</li> + <li>Expose level=1 in AriaProperites for "Item 1" and "Item 2"</li> + <li>Expose level=2 in AriaProperites for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"</li> + </ul> + + <h3>ATK/AT-SPI</h3> + <ul> + <li>role="list": ROLE_LIST and STATE_EDITABLE is not exposed</li> + <li>role="listitem": ROLE_LISTITEM and STATE_EDITABLE is not exposed</li> + <li>setsize: 2 (since all lists have 2 items)</li> + <li>posinset: position in list</li> + <li>level: 1 for "Item 1" and "Item 2"</li> + <li>level: 2 for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"</li> + </ul> + + <h3>AXAPI</h3> + <ul> + <li>role="list": AXList and AXContentList = 'content list'</li> + <li>role="listitem" for "Item 1" and "Item 2": AXGroup = 'group'</li> + <li>role="listitem" for "Item 1A", "Item 1B", "Item 2A" and "Item 2B": AXGroup = nil</li> + <li>AXARIASetSize: 2 (since all lists have 2 items)</li> + <li>AXARIAPosInSet: position in list</li> + <li>AXDisclosureLevel: 1 for "Item 1" and "Item 2"</li> + <li>AXDisclosureLevel: 2 for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"</li> + </ul> + + </body> + +</html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/stability-of-dom/669.html b/testing/web-platform/tests/conformance-checkers/html-aria/stability-of-dom/669.html new file mode 100644 index 0000000000..2f2e64fb69 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/stability-of-dom/669.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + <head> + <title>ARIA 1.0 Test Case 669</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case 669</h1> + + <ul role="listbox" id="ID_LISTBOX" tabindex="0" aria-activedescendant="ID_OPTION_1"> + <li id="ID_OPTION_1" role="option">Option 1</li> + <li id="ID_OPTION_2" role="option">Option 2</li> + </ul> + + <h2>Description</h2> + <p>An element with role "listbox" with two descendants having role "option" + and aria-activedescendant set to the id of the first option for which an + assistive technology or API test tool requests to move focus to option 2.</p> + + <script> + + function setFocus() { + var node = document.getElementById('ID_LISTBOX'); + node.focus(); + } + + window.addEventListener('load', setFocus); + </script> + </body> + +</html> + + diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-A.html b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-A.html new file mode 100644 index 0000000000..3ba81f2c16 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-A.html @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html><head> + <title>ARIA 1.0 Test Case: Listbox role with multiseclect</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case: Listbox role with multiseclect</h1> + + <div role="listbox" aria-multiselectable="true"> + <div role="option">Option 1</div> + <div role="option" aria-selected="true" tabindex="-1">Option 2 (test for selected)</div> + <div role="option" aria-selected="false" id="ID_TARGET" tabindex="0">Option 3 (test for selected)</div> + <div role="option">Option 4</div> + </div> + + <h2>Description</h2> + <p>A DIV element with role role "listbox" has an aria-multiselect attribute set to "true". + Two of the four child "div" elements with the role "option" have the "aria-selected" attribute set + to "true".</p> + + <h2>Accessibility API Mappings</h2> + + <h3>MSAA + UIA Express</h3> + <p>Expose <code>STATE_SYSTEM_SELECTED</code>; Expose <code>STATE_SYSTEM_SELECTABLE</code></p> + + <h3>MSAA + IAccessible2</h3> + <p>Expose STATE_SYSTEM_SELECTED and STATE_SYSTEM_SELECTABLE for each of the elements with role option</p> + + <h3>UIA</h3> + <p>Expose IsSelected property in SelectionItem Control Pattern. The availability of the SelectionItem Control Pattern indicates the item is selectable.</p> + + <h3>ATK/AT-SPI</h3> + <p>Expose STATE_SELECTED on each of the elements with role option.</p> + + <h3>AXAPI</h3> + <p>AXSelected:Yes on option 2 and 3 and AXSelected:No on option 1 and 4</p> + + <script> + + function setFocus() { + var node = document.getElementById('ID_TARGET'); + +myVar=setTimeout(function(){var node = document.getElementById('ID_TARGET');node.setAttribute("aria-selected","true");} ,2000) + } + + window.addEventListener('load', setFocus); + </script> + + + + +</body></html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-B.html b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-B.html new file mode 100644 index 0000000000..6d1dcdaae7 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-B.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html><head> + <title>ARIA 1.0 Test Case: Listbox role with multiseclect</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case: Listbox role with multiseclect</h1> + + <div role="listbox" aria-multiselectable="true"> + <div role="option">Option 1</div> + <div role="option" aria-selected="true" tabindex="-1">Option 2 (test for selected)</div> + <div role="option" aria-selected="true" id="ID_TARGET" tabindex="0">Option 3 (test for selected)</div> + <div role="option">Option 4</div> + </div> + + <h2>Description</h2> + <p>A DIV element with role role "listbox" has an aria-multiselect attribute set to "true". + Two of the four child "div" elements with the role "option" have the "aria-selected" attribute set + to "true".</p> + + <h2>Accessibility API Mappings</h2> + + <h3>MSAA + UIA Express</h3> + <p>Expose <code>STATE_SYSTEM_SELECTED</code>; Expose <code>STATE_SYSTEM_SELECTABLE</code></p> + + <h3>MSAA + IAccessible2</h3> + <p>Expose STATE_SYSTEM_SELECTED and STATE_SYSTEM_SELECTABLE for each of the elements with role option</p> + + <h3>UIA</h3> + <p>Expose IsSelected property in SelectionItem Control Pattern. The availability of the SelectionItem Control Pattern indicates the item is selectable.</p> + + <h3>ATK/AT-SPI</h3> + <p>Expose STATE_SELECTED on each of the elements with role option.</p> + + <h3>AXAPI</h3> + <p>AXSelected:Yes on option 2 and 3 and AXSelected:No on option 1 and 4</p> + + <script> + + function clearSelection() { + myVar=setTimeout(function(){var node = document.getElementById('ID_TARGET');node.setAttribute("aria-selected","false");} ,3000) + } + + window.addEventListener('load', clearSelection); + </script> + + + + +</body></html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-C.html b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-C.html new file mode 100644 index 0000000000..88eb11bb41 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-C.html @@ -0,0 +1,64 @@ +<!DOCTYPE html> +<html><head> + <title>ARIA 1.0 Test Case: Listbox role with multiseclect</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style> + [aria-selected="true"] { font-weight: bold; } + </style> + </head> + <body> + <h1>ARIA 1.0 Test Case: Listbox role with multiseclect</h1> + + <div role="listbox" aria-multiselectable="true"> + <div role="option">Option 1</div> + <div role="option" aria-selected="false" tabindex="-1">Option 2 (test for selected)</div> + <div role="option" aria-selected="false" id="ID_TARGET" tabindex="0">Option 3 (test for selected)</div> + <div role="option">Option 4</div> + </div> + <p><button onclick="toggleSelectedState();">Toggle Option 3 Selected State</button> + + <h2>Description</h2> + <p>A DIV element with role role "listbox" has an aria-multiselect attribute set to "true". + Two of the four child "div" elements with the role "option" have the "aria-selected" attribute set + to "true".</p> + + <h2>Accessibility API Mappings</h2> + + <h3>MSAA + UIA Express</h3> + <p>Expose <code>STATE_SYSTEM_SELECTED</code>; Expose <code>STATE_SYSTEM_SELECTABLE</code></p> + + <h3>MSAA + IAccessible2</h3> + <p>Expose STATE_SYSTEM_SELECTED and STATE_SYSTEM_SELECTABLE for each of the elements with role option</p> + + <h3>UIA</h3> + <p>Expose IsSelected property in SelectionItem Control Pattern. The availability of the SelectionItem Control Pattern indicates the item is selectable.</p> + + <h3>ATK/AT-SPI</h3> + <p>Expose STATE_SELECTED on each of the elements with role option.</p> + + <h3>AXAPI</h3> + <p>AXSelected:Yes on option 2 and 3 and AXSelected:No on option 1 and 4</p> + + <script> +/* + function setSelection() { + var node = document.getElementById('ID_TARGET'); + node.setAttribute("aria-selected","true"); + } + + window.addEventListener('load', setSelection); +*/ + function toggleSelectedState() { + var el = document.getElementById('ID_TARGET'); + if (el.getAttribute('aria-selected') == 'true') + el.setAttribute('aria-selected', 'false'); + else + el.setAttribute('aria-selected', 'true'); + } + + </script> + + + + +</body></html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-multiselectable-D.html b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-multiselectable-D.html new file mode 100644 index 0000000000..290430acf5 --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-multiselectable-D.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html><head> + <title>ARIA 1.0 Test Case: Listbox role with multiseclect</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style> + div[aria-selected="true"] {color:white;background-color:black;} + </style> + </head> + <body> + <h1>ARIA 1.0 Test Case: Listbox role with multiseclect</h1> + + <div role="listbox" aria-label="charlotte" aria-multiselectable="true"> + <div role="option" aria-selected="false" id="ID1" tabindex="-1" onclick="handle1(event)">Option 1 (test for click elected)</div> + <div role="option" aria-selected="false" id="ID2" tabindex="-1">Option 2</div> + <div role="option" aria-selected="false" id="ID3" onmousedown="handle2(event)">Option 3 (test for shift click selected)</div> + </div> + + <script> + function handle1(e) { + var node=document.getElementById('ID1'); + node.focus(); + e.stopPropagation(); + return false; + } + function handle2(e) { + shiftpressed=0; + shiftpressed=e.shiftKey; + if (shiftpressed){ + var node=document.getElementById('ID1'); + node.setAttribute("aria-selected", "true"); + node=document.getElementById('ID2'); + node.setAttribute("aria-selected", "true"); + node=document.getElementById('ID3'); + node.setAttribute("aria-selected", "true"); + } + e.stopPropagation(); + return false; + } + </script> + +</body></html> diff --git a/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-tree-multiselectable-C.html b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-tree-multiselectable-C.html new file mode 100644 index 0000000000..da97b2945f --- /dev/null +++ b/testing/web-platform/tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-tree-multiselectable-C.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html><head> + <title>ARIA 1.0 Test Case: Tree role with aria-multiselectable</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + </head> + <body> + <h1>ARIA 1.0 Test Case: Tree role with aria-multiselectable</h1> + + <div role="tree" aria-multiselectable="true"> + <div role="treeitem">Leaf 1 + <div role="group"> + <div role="treeitem" aria-selected="true">Leaf 1A (Selected)</div> + <div role="treeitem">Leaf 1B</div> + <div role="treeitem" aria-selected="false">Leaf 1C (aria-selected='false')</div> + </div> + </div> + <div role="treeitem" aria-selected="true">Leaf 2 (Selected) + <div role="group"> + <div role="treeitem">Leaf 2A</div> + <div role="treeitem">Leaf 2B</div> + <div role="treeitem">Leaf 2C</div> + </div> + </div> + <div role="treeitem">Leaf 3 + <div role="group"> + <div role="treeitem">Leaf 3A</div> + <div role="treeitem" aria-selected="false">Leaf 3B (aria-selected='false')</div> + <div role="treeitem" aria-selected="true">Leaf 3C (Selected)</div> + </div> + </div> + </div> + + <script> + + function setFocus() { + var node = document.getElementById('ID_TARGET'); + node.focus(); + } + + window.addEventListener('load', setFocus); + </script> + + + + +</body></html> |