diff --git a/common/acknowledgements.html b/common/acknowledgements.html index 4ccd330e4c..b190747ec4 100644 --- a/common/acknowledgements.html +++ b/common/acknowledgements.html @@ -4,47 +4,41 @@

Acknowledgments

Participants active in the ARIA WG at the time of publication

@@ -56,6 +50,7 @@

Other ARIA contributors, commenters, and previously active participants

  • David Baron (Mozilla Foundation)
  • Art Barstow (Nokia Corporation)
  • Simon Bates
  • +
  • Christy Blew (University of Illinois at Urbana-Champaign)
  • Chris Blouch (AOL)
  • Judy Brewer (W3C/MIT)
  • Mark Birbeck (Sidewinder Labs)
  • @@ -73,17 +68,21 @@

    Other ARIA contributors, commenters, and previously active participants

  • Micah Dubinko (Invited Expert)
  • Mandana Eibegger
  • Beth Epperson (Websense)
  • +
  • Fred Esch (IBM Corporation)
  • Donald Evans (AOL)
  • +
  • Steve Faulkner (The Paciello Group, LLC)
  • Chris Fleizach (Apple Inc.)
  • Kelly Ford (Microsoft Corporation)
  • Geoff Freed (Invited Expert, NCAM)
  • Christopher Gallelo (Microsoft Corporation)
  • +
  • Billy Gregory (The Paciello Group, LLC)
  • +
  • Karl Groves (The Paciello Group, LLC)
  • Birkir Gunnarsson (Deque Systems, Inc.)
  • Kentarou Fukuda (IBM Corporation)
  • Bryan Garaventa
  • Guido Geloso
  • Ali Ghassemi
  • -
  • Becky Gibson (IBM)
  • +
  • Alfred S. Gilman
  • Andres Gonzalez (Adobe Systems Inc.)
  • Scott González (JQuery Foundation)
  • @@ -91,6 +90,9 @@

    Other ARIA contributors, commenters, and previously active participants

  • Georgios Grigoriadis (SAP AG)
  • Jeff Grimes (Oracle)
  • Loretta Guarino Reid (Google, Inc.)
  • +
  • Markus Gylling (DAISY Consortium)
  • +
  • Markku Hakkinen (Educational Testing Service)
  • +
  • Katie Haritos-Shea (Knowbility)
  • Barbara Hartel
  • James Hawkins (Google, Inc.)
  • Benjamin Hawkes-Lewis
  • @@ -108,9 +110,11 @@

    Other ARIA contributors, commenters, and previously active participants

  • Shilpi Kapoor (BarrierBreak Technologies)
  • Masahiko Kaneko (Microsoft Corporation)
  • Marjolein Katsma
  • +
  • Susann Keohane (IBM Corporation)
  • George Kerscher (International Digital Publishing Forum)
  • -
  • Jason Kiss (New Zealand Government)
  • +
  • Jason Kiss (Department of Internal Affairs, New Zealand Government)
  • Todd Kloots
  • +
  • Jamie Knight (British Broadcasting Corporation)
  • Johannes Koch
  • Gerard K. Cohen
  • Sam Kuper
  • @@ -118,7 +122,7 @@

    Other ARIA contributors, commenters, and previously active participants

  • Jael Kurz
  • Rajesh Lal (Nokia Corporation)
  • Diego La Monica (International Webmasters Association / HTML Writers Guild (IWA-HWG))
  • -
  • Aaron Leventhal (IBM Corporation)
  • +
  • Gez Lemon (International Webmasters Association / HTML Writers Guild (IWA-HWG))
  • Alex Li (SAP)
  • Chris Lilley
  • @@ -131,8 +135,10 @@

    Other ARIA contributors, commenters, and previously active participants

  • Anders Markussen (Opera Software)
  • Krzysztof Maczyński
  • Matthew May (Adobe Systems Inc.)
  • -
  • Dominic Mazzoni (Google, Inc.)
  • Mark McCarthy
  • +
  • Charles McCathie Nevile (Yandex)
  • +
  • Heather Migliorisi (Invited Expert)
  • +
  • Mary Jo Mueller (IBM Corporation)
  • Alexandre Morgaut (4D)
  • Ann Navarro (Invited Expert)
  • Joshue O Connor (Invited Expert, CFIT)
  • @@ -155,7 +161,10 @@

    Other ARIA contributors, commenters, and previously active participants

  • Mario Sánchez Prada (Samsung Electronics Co., Ltd. and Gnome Foundation)
  • Martin Schaus (SAP AG)
  • Doug Schepers (W3C)
  • +
  • Cynthia Shelly (Microsoft Corporation)
  • +
  • Joseph Scheuhammer (Invited Expert, Inclusive Design Research Centre, OCAD University)
  • Matthias Schmitt
  • +
  • Richard Schwerdtfeger (IBM, Knowbility)
  • Marc Silbey (Microsoft Corporation)
  • Leif Halvard Sili
  • Henri Sivonen (Mozilla)
  • @@ -173,12 +182,14 @@

    Other ARIA contributors, commenters, and previously active participants

  • David Todd
  • Gregg Vanderheiden (Invited Expert, Trace)
  • Anne van Kesteren
  • +
  • Léonie Watson (The Paciello Group, LLC)
  • Wen He (Tencent)
  • Wu Wei (W3C / RITT)
  • Ryan Williams (Oracle)
  • Tom Wlodkowski
  • Sam White (Apple Inc.)
  • Marco Zehe (Mozilla Foundation)
  • +
  • Gottfried Zimmermann (Invited Expert, Access Technologies Group)
  • diff --git a/common/biblio.js b/common/biblio.js index df53468114..72e1618146 100644 --- a/common/biblio.js +++ b/common/biblio.js @@ -1,262 +1,38 @@ var biblio = { - + "ACCNAME-AAM": { - "title": "Accessible Name and Description: Computation and API Mappings 1.1", - "href": "http://www.w3.org/TR/accname-aam-1.1/", - "status": "WD", - "publisher": "W3C", - "authors": [ - "Joseph Scheuhammer", - "Michael Cooper", - "Andi Snow-Weaver", - "Aaron Leventhal" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/WAI/ARIA/" - ] + "aliasOf": "ACCNAME-AAM-1.1", }, "ARIA-PRACTICES": { - "title": "WAI-ARIA Authoring Practicess 1.1", - "href": "http://www.w3.org/TR/wai-aria-practices-1.1/", - "status": "WD", - "publisher": "W3C", - "authors": [ - "Matt King", - "James Nurthen", - "Michael Cooper", - "Michiel Bijl", - "Joseph Scheuhammer", - "Lisa Pappas", - "Richard Schwerdtfeger" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/WAI/ARIA/" - ] - }, - // Correct reference for ATK - "ATK": { - "href": "https://developer.gnome.org/atk/stable/", - "title": "ATK - Accessibility Toolkit", - "publisher": "The GNOME Project" - }, - // Custom reference for the Mac OSX Accessibility API - "AXAPI": { - "href": "https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/index.html", - "title": "The Mac OS X Accessibility Protocol Mac OS 10.10", - "publisher": "Apple Corporation" + "aliasOf": "WAI-ARIA-PRACTICES-1.1", }, "CORE-AAM": { - "title": "Core Accessibility API Mappings 1.1", - "href": "http://www.w3.org/TR/core-aam-1.1/", - "status": "WD", - "publisher": "W3C", - "authors": [ - "Joseph Scheuhammer", - "Michael Cooper", - "Andi Snow-Weaver", - "Aaron Leventhal" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/WAI/ARIA/" - ] + "aliasOf": "CORE-AAM-1.1", }, "DPUB-ARIA": { - "title": "Digital Publishing WAI-ARIA Module 1.0", - "href": "http://www.w3.org/TR/dpub-aria-1.0/", - "status": "WD", - "publisher": "W3C", - "authors": [ - "Matt Garrish", - "Tzviya Siegman", - "Markus Gylling", - "Shane McCarron" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/WAI/ARIA/" - ] + "aliasOf": "DPUB-ARIA-1.0", }, "GRAPHICS-ARIA": { - "title": "WAI-ARIA Graphics", - "href": "http://www.w3.org/TR/graphics-aria-1.0/", - "status": "WD", - "publisher": "W3C", - "authors": [ - "Amelia Bellamy-Royds", - "Fred Esch", - "Rich Schwerdtfeger", - "Leonie Watson" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/WAI/ARIA/", - "http://www.w3.org/SVG/" - ] + "aliasOf": "GRAPHICS-ARIA-1.0", }, "GRAPHICS-AAM": { - "title": "Graphics Accessibility API Mappings", - "href": "http://www.w3.org/TR/graphics-aam-1.0/", - "status": "WD", - "publisher": "W3C", - "authors": [ - "Amelia Bellamy-Royds", - "Fred Esch", - "Richard Schwerdtfeger" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/WAI/ARIA/", - "http://www.w3.org/SVG/" - ] + "aliasOf": "GRAPHICS-AAM-1.0", }, - - "EPUB-SSV": { - "href": "http://www.idpf.org/epub/vocab/structure/", - "title": "EPUB Structural Semantics Vocabulary", + "EPUB-Content": { + "href": "http://www.idpf.org/epub/31/spec/epub-contentdocs.html", + "title": "EPUB Content Documents 3.1", "publisher": "IDPF" }, - // Custom reference for GTK+ (GNOME GUI Toolkit) (not available from SpecRef biblio) - "GTK": { - "href": "https://developer.gnome.org/gtk3/stable/", - "title": "GTK+ 3 Reference Manual", - "publisher": "The GNOME Project" - }, "HTML-AAM": { - "authors": [ - "Steve Faulkner", - "Jason Kiss", - "Cynthia Shelly", - "Alexander Surkov" - ], - "etAl": true, - "href": "http://www.w3.org/TR/html-aam-1.0/", - "title": "HTML Accessibility API Mappings 1.0", - "status": "WD", - "publisher": "W3C", - "deliveredBy": [ - "http://www.w3.org/html", - "http://www.w3.org/WAI/PF/" - ] - }, - "MSAA": { - "href": "https://msdn.microsoft.com/en-us/library/ms697707.aspx", - "title": "Microsoft Active Accessibility (MSAA) 2.0", - "publisher": "Microsoft Corporation" + "aliasOf": "HTML-AAM-1.0", }, "SVG-AAM": { - "title": "SVG2 Accessibility API Mappings 1.0", - "href": "http://www.w3.org/TR/svg-aam-1.0/", - "status": "WD", - "publisher": "W3C", - "authors": [ - "Amelia Bellamy-Royds", - "Richard Schwerdtfeger" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/WAI/PF/" - ] + "aliasOf": "SVG-AAM-1.0", }, "SVG1": { - "title": "Scalable Vector Graphics (SVG) 1.0 Specification", - "href": "http://www.w3.org/TR/SVG10/", - "status": "REC", - "publisher": "W3C", - "authors": [ - "John Ferraiolo" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/SVG" - ] - }, - "SVG11": { - "title": "Scalable Vector Graphics (SVG) 1.1 (Second Edition)", - "href": "http://www.w3.org/TR/SVG11/", - "status": "REC", - "publisher": "W3C", - "authors": [ - "Erik Dahlström", - "Patrick Dengler", - "Anthony Grasso", - "Chris Lilley", - "Cameron McCormack", - "Doug Schepers", - "Jonathan Watt", - "John Ferraiolo", - "藤沢 淳 (FUJISAWA Jun)", - "Dean Jackson" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/SVG" - ] - }, - "SVG2": { - "title": "Scalable Vector Graphics (SVG) 2", - "href": "http://www.w3.org/TR/2014/WD-SVG2-20140211/", - "status": "WD", - "publisher": "W3C", - "authors": [ - "Nikos Andronikos", - "Tavmjong Bah", - "Brian Birtles", - "Cyril Concolato", - "Erik Dahlströmx", - "Chris Lilley", - "Cameron McCormack", - "Doug Schepers", - "Dirk Schulze", - "Richard Schwerdtfeger", - "Satoru Takagi", - "Jonathan Watt" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/WAI/PF/" - ] - }, - "UI-AUTOMATION": { - "href": "https://msdn.microsoft.com/en-us/library/ee684009%28v=vs.85%29.aspx", - "title": "UI Automation", - "publisher": "Microsoft Corporation" - }, - // Custom reference for UIA Express (not available from SpecRef biblio). - "UIA-EXPRESS": { - "href": "https://msdn.microsoft.com/en-us/library/windows/desktop/dd561898%28v=vs.85%29.aspx", - "title": "The IAccessibleEx Interface", - "publisher": "Microsoft Corporation" + "aliasOf": "SVG", }, "WAI-ARIA": { - "title": "Accessible Rich Internet Applications (WAI-ARIA) 1.1", - "href": "http://www.w3.org/TR/wai-aria-1.1/", - "status": "WD", - "publisher": "W3C", - "authors": [ - "James Craig", - "Michael Cooper", - "Shane McCarron" - ], - "etAl": true, - "deliveredBy": [ - "http://www.w3.org/WAI/PF/" - ] - }, - "WAI-ARIA-10": { - "authors": [ - "James Craig", - "Michael Cooper" - ], - "etAl": true, - "href": "http://www.w3.org/TR/wai-aria/", - "title": "Accessible Rich Internet Applications (WAI-ARIA) 1.0", - "status": "REC", - "publisher": "W3C", - "deliveredBy": [ - "http://www.w3.org/WAI/PF/" - ] + "aliasOf": "WAI-ARIA-1.1", } }; diff --git a/common/css/common.css b/common/css/common.css index 2a7c959f60..3a02558454 100644 --- a/common/css/common.css +++ b/common/css/common.css @@ -105,6 +105,9 @@ caption{ table.role-features th, table.role-features td, table.state-features th, table.state-features td, table.property-features th, table.property-features td, table.value-descriptions th, table.value-descriptions td { min-width:20em; } +table.role-features tbody th, table.state-features tbody th, table.property-features tbody th, table.value-descriptions tbody th { + text-align: left !important; +} th+th, td+td{ width:auto; } @@ -239,7 +242,6 @@ dl.compact dd { } .issue { background-color:#0c0; - text-transform:uppercase; } abbr.symbol { border-bottom:none; diff --git a/common/script/aria.js b/common/script/aria.js new file mode 100644 index 0000000000..9de9b7d622 --- /dev/null +++ b/common/script/aria.js @@ -0,0 +1,581 @@ +/** + * roleInfo is structured like this: + * + * name: the name of the role + * fragID: the @id for the role in the document + * parentRoles: roles from which it inherits + * localprops: local properties and states + */ + +/* jshint shadow: true, unused: false, laxbreak:true, laxcomma:true, asi: true, eqeqeq: false, strict: implied, jquery: true */ +/* global $, require, updateReferences */ + +var roleInfo = {}; + +require(["core/pubsubhub"], function( respecEvents ) { + respecEvents.sub("end-all", function() { + var m = document.URL; + if (m.match(/\#saveRoles/)) { + var $modal + , $overlay + , buttons = {} + ; + var conf, doc, msg; + var ui = { + closeModal: function () { + if ($overlay) { + $overlay.fadeOut(200, function () { $overlay.remove(); $overlay = null; }); + } + if (!$modal) { + return; + } + $modal.remove(); + $modal = null; + } + , freshModal: function (title, content) { + if ($modal) { + $modal.remove(); + } + if ($overlay) { + $overlay.remove(); + } + var width = 500; + $overlay = $("
    ").hide(); + $modal = $("

    ").hide(); + $modal.find("h3").text(title); + $modal.find(".inside").append(content); + $("body") + .append($overlay) + .append($modal); + $overlay + .click(this.closeModal) + .css({ + display: "block" + , opacity: 0 + , position: "fixed" + , zIndex: 10000 + , top: "0px" + , left: "0px" + , height: "100%" + , width: "100%" + , background: "#000" + }) + .fadeTo(200, 0.5) + ; + $modal + .css({ + display: "block" + , position: "fixed" + , opacity: 0 + , zIndex: 11000 + , left: "50%" + , marginLeft: -(width/2) + "px" + , top: "100px" + , background: "#fff" + , border: "5px solid #666" + , borderRadius: "5px" + , width: width + "px" + , padding: "0 20px 20px 20px" + , maxHeight: ($(window).height() - 150) + "px" + , overflowY: "auto" + }) + .fadeTo(200, 1) + ; + } + }; + var supportsDownload = $("A")[0].download === "x" + ; + var $div = $("
    ") + , buttonCSS = { + background: "#eee" + , border: "1px solid #000" + , borderRadius: "5px" + , padding: "5px" + , margin: "5px" + , display: "block" + , width: "100%" + , color: "#000" + , textDecoration: "none" + , textAlign: "center" + , fontSize: "inherit" + } + , addButton = function (title, content, fileName, popupContent) { + if (supportsDownload) { + $("") + .appendTo($div) + .text(title) + .css(buttonCSS) + .attr({ + href: "data:text/html;charset=utf-8," + encodeURIComponent(content) + , download: fileName + }) + .click(function () { + ui.closeModal(); + }) + ; + } + else { + $("") + .appendTo($div) + .text(title) + .css(buttonCSS) + .click(function () { + popupContent(); + ui.closeModal(); + }) + ; + } + + } + ; + var s = "var roleInfo = " + JSON.stringify(roleInfo, null, '\t') ; + addButton("Save Role Values", s, "roleInfo.js", s) ; + ui.freshModal("Save Roles, States, and Properties", $div); + } + }); + + respecEvents.sub("end", function( msg ) { + if (msg == "w3c/conformance") { + var propList = {}; + var globalSP = []; + + var skipIndex = 0; + var myURL = document.URL; + if (myURL.match(/\?fast/)) { + skipIndex = 1; + } + + + // process the document before anything else is done + // first get the properties + $.each(document.querySelectorAll("pdef, sdef"), function(i, item) { + var type = (item.localName === "pdef" ? "property" : "state"); + var container = item.parentNode; + var content = item.innerHTML; + var sp = document.createElement("span"); + var title = item.getAttribute("title"); + if (!title) { + title = content; + } + sp.className = type + "-name"; + sp.title = title; + sp.innerHTML = "" + content + " (" + type + ")"; + sp.setAttribute("aria-describedby", "desc-" + title); + var dRef = item.nextElementSibling; + var desc = dRef.firstElementChild.innerHTML; + dRef.id = "desc-" + title; + dRef.setAttribute("role", "definition"); + var heading = document.createElement("h4"); + heading.appendChild(sp); + container.replaceChild(heading, item); + // add this item to the index + propList[title] = { is: type, title: title, name: content, desc: desc, roles: [] }; + var abstract = container.querySelector("." + type + "-applicability"); + if ((abstract.textContent || abstract.innerText) === "All elements of the base markup") { + globalSP.push({ is: type, title: title, name: content, desc: desc }); + } + + // the rdef is gone. if we are in a div, convert that div to a section + + if (container.nodeName.toLowerCase() == "div") { + // change the enclosing DIV to a section with notoc + var sec = document.createElement("section") ; + $.each(container.attributes, function(i, attr) { + sec.setAttribute(attr.name, attr.value); + }); + $(sec).addClass("notoc"); + var theContents = container.innerHTML; + sec.innerHTML = theContents; + container.parentNode.replaceChild(sec, container) ; + } + }); + + if (!skipIndex) { + // we have all the properties and states - spit out the + // index + var propIndex = ""; + var sortedList = []; + $.each(propList, function(i) { + sortedList.push(i); + }); + sortedList = sortedList.sort(); + + for (var i = 0; i < sortedList.length; i++) { + var item = propList[sortedList[i]]; + propIndex += "
    " + item.name + "
    \n"; + propIndex += "
    " + item.desc + "
    \n"; + } + var node = document.getElementById("index_state_prop"); + var parentNode = node.parentNode; + var l = document.createElement("dl"); + l.id = "index_state_prop"; + l.className = "compact"; + l.innerHTML = propIndex; + parentNode.replaceChild(l, node); + + var globalSPIndex = ""; + sortedList = globalSP.sort(function(a,b) { return a.name < b.name ? -1 : a.name > b.name ? 1 : 0 }); + for (i = 0; i < sortedList.length; i++) { + var lItem = sortedList[i]; + globalSPIndex += "
  • "; + if (lItem.is === "state") { + globalSPIndex += "" + lItem.name + " (state)"; + } else { + globalSPIndex += "" + lItem.name + ""; + } + globalSPIndex += "
  • \n"; + } + parentNode = document.querySelector("#global_states"); + if (parentNode) { + node = parentNode.querySelector(".placeholder"); + if (node) { + l = document.createElement("ul"); + l.innerHTML = globalSPIndex; + parentNode.replaceChild(l, node); + } + } + // there is only one role that uses the global properties + parentNode = document.querySelector("#roletype td.role-properties span.placeholder"); + if (parentNode) { + node = parentNode.parentNode; + if ((parentNode.textContent || parentNode.innerText) === "Placeholder for global states and properties") { + l = document.createElement("ul"); + l.innerHTML = globalSPIndex; + node.replaceChild(l, parentNode); + } + } + } + + // what about roles? + // + // we need to do a few things here: + // 1. expand the rdef elements. + // 2. accumulate the roles into a table for the indices + // 3. grab the parent role reference so we can build up the tree + // 4. grab any local states and properties so we can hand those down to the children + // + + var subRoles = []; + var roleIndex = ""; + var fromAuthor = ""; + var fromContent = ""; + + $.each(document.querySelectorAll("rdef"), function(i,item) { + var container = item.parentNode; + var $pn = $(container) ; + var content = item.innerHTML; + var sp = document.createElement("h4"); + var title = item.getAttribute("title"); + if (!title) { + title = content; + } + var pnID = $pn.makeID("", title) ; + sp.className = "role-name"; + sp.title = title; + // is this a role or an abstract role + var type = "role"; + var isAbstract = false; + var abstract = container.querySelectorAll(".role-abstract"); + if ($(abstract).text() === "True") { + type = "abstract role"; + isAbstract = true; + } + sp.innerHTML = "" + content + " (" + type + ")"; + // sp.id = title; + sp.setAttribute("aria-describedby", "desc-" + title); + var dRef = item.nextElementSibling; + var desc = dRef.firstElementChild.innerHTML; + dRef.id = "desc-" + title; + dRef.setAttribute("role", "definition"); + container.replaceChild(sp, item); + roleIndex += "
    " + content + "" + ( isAbstract ? " (abstract role) " : "" ) + "
    \n"; + roleIndex += "
    " + desc + "
    \n"; + // grab info about this role + // do we have a parent class? if so, put us in that parents list + var node = container.querySelectorAll(".role-parent rref"); + // s will hold the name of the parent role if any + var s = null; + var parentRoles = []; + if (node) { + $.each(node, function(foo, roleref) { + s = roleref.textContent || roleref.innerText; + + if (!subRoles[s]) { + subRoles.push(s); + subRoles[s] = []; + } + subRoles[s].push(title); + parentRoles.push(s); + }); + } + // are there supported states / properties in this role? + var attrs = []; + $.each(container.querySelectorAll(".role-properties, .role-required-properties"), function(i, node) { + if (node && ((node.textContent && node.textContent.length !== 1) || (node.innerText && node.innerText.length !== 1))) { + // looks like we do + $.each(node.querySelectorAll("pref,sref"), function(i, item) { + var name = item.getAttribute("title"); + if (!name) { + name = item.textContent || item.innerText; + } + var type = (item.localName === "pref" ? "property" : "state"); + var req = false; + if ($(node).hasClass("role-required-properties") ) { + req = true; + } + attrs.push( { is: type, name: name, required: req } ); + // remember that the state or property is + // referenced by this role + propList[name].roles.push(title); + }); + } + }); + roleInfo[title] = { "name": title, "fragID": pnID, "parentRoles": parentRoles, "localprops": attrs }; + // is there a namefrom indication? If so, add this one to + // the list + if (!isAbstract) { + $.each(container.querySelectorAll(".role-namefrom"), function(i, node) { + var reqRef = container.querySelector(".role-namerequired"); + var req = ""; + if (reqRef && reqRef.innerText === "True") { + req = " (name required)"; + } + + if ($(node).find("li").length) { + // there is a list; put it in both lists + fromAuthor += "
  • " + content + "" + req + "
  • "; + if (!isAbstract) { + fromContent += "
  • " + content + "" + "
  • "; + } + } else { + // it is a text node; use that + if (node.textContent.indexOf("author") !== -1) { + fromAuthor += "
  • " + content + "" + req + "
  • "; + } else if (node.textContent.indexOf("content") !== -1) { + if (!isAbstract) { + fromContent += "
  • " + content + "" + "
  • "; + } + } + } + }); + } + if (container.nodeName.toLowerCase() == "div") { + // change the enclosing DIV to a section with notoc + var sec = document.createElement("section") ; + $.each(container.attributes, function(i, attr) { + sec.setAttribute(attr.name, attr.value); + }); + $(sec).addClass("notoc"); + var theContents = container.innerHTML; + sec.innerHTML = theContents; + container.parentNode.replaceChild(sec, container) ; + } + }); + + var getStates = function(role) { + var ref = roleInfo[role]; + if (!ref) { + msg.pub("error", "No role definition for " + role); + } else if (ref.allprops) { + return ref.allprops; + } else { + var myList = []; + $.merge(myList, ref.localprops); + $.each(ref.parentRoles, function(i, item) { + var pList = getStates(item); + $.merge(myList, pList); + }); + ref.allprops = myList; + return myList; + } + }; + + if (!skipIndex) { + // build up the complete inherited SP lists for each role + // however, if the role already specifies an item, do not include it + $.each(roleInfo, function(i, item) { + var output = ""; + var placeholder = document.querySelector("#" + item.fragID + " .role-inherited"); + if (placeholder) { + var myList = []; + $.each(item.parentRoles, function(j, role) { + $.merge(myList, getStates(role)); + }); + /* jshint loopfunc: true */ + // strip out any items that we have locally + if (item.localprops.length && myList.length) { + for (var j = myList.length - 1; j >=0; j--) { + item.localprops.forEach(function(x) { + if (x.name == myList[j].name) { + myList.splice(j, 1); + } + }); + } + } + var sortedList = []; + sortedList = myList.sort(function(a,b) { return a.name < b.name ? -1 : a.name > b.name ? 1 : 0 }); + var prev; + for (var k = 0; k < sortedList.length; k++) { + var role = sortedList[k]; + var req = ""; + if (role.required) { + req = " (required)"; + } + if (prev != role.name) { + output += "
  • "; + if (role.is === "state") { + output += "" + role.name + " (state)" + req; + } else { + output += "" + role.name + "" + req; + } + output += "
  • \n"; + prev = role.name; + } + } + if (output !== "") { + output = "\n"; + placeholder.innerHTML = output; + } + } + }); + + // Update state and property role references + var getAllSubRoles = function(role) { + var ref = subRoles[role]; + if (ref && ref.length) { + var myList = []; + $.each(ref, function(j, item) { + if (!myList.item) { + myList[item] = 1; + myList.push(item); + var childList = getAllSubRoles(item); + $.merge(myList, childList); + } + }); + return myList; + } else { + return []; + } + }; + + $.each(propList, function(i, item) { + var output = ""; + var section = document.querySelector("#" + item.name); + var placeholder = section.querySelector(".state-applicability, .property-applicability"); + if (placeholder && ((placeholder.textContent || placeholder.innerText) === "Placeholder") && item.roles.length) { + // update the used in roles list + var sortedList = []; + sortedList = item.roles.sort(); + for (var j = 0; j < sortedList.length; j++) { + output += "
  • " + sortedList[j] + "
  • \n"; + } + if (output !== "") { + output = "\n"; + } + placeholder.innerHTML = output; + // also update any inherited roles + var myList = []; + $.each(item.roles, function(j, role) { + var children = getAllSubRoles(role); + // Some subroles have required properties which are also required by the superclass. + // Example: The checked state of radio, which is also required by superclass checkbox. + // We only want to include these one time, so filter out the subroles. + children = jQuery.grep(children, function(subrole) { + return jQuery.inArray(subrole, propList[item.name].roles) == -1; + }); + $.merge(myList, children); + }); + placeholder = section.querySelector(".state-descendants, .property-descendants"); + if (placeholder && myList.length) { + sortedList = myList.sort(); + output = ""; + var last = ""; + for (j = 0; j < sortedList.length; j++) { + var sItem = sortedList[j]; + if (last != sItem) { + output += "
  • " + sItem + "
  • \n"; + last = sItem; + } + } + if (output !== "") { + output = "\n"; + } + placeholder.innerHTML = output; + } + } + }); + + // spit out the index + var node = document.getElementById("index_role"); + var parentNode = node.parentNode; + var list = document.createElement("dl"); + list.id = "index_role"; + list.className = "compact"; + list.innerHTML = roleIndex; + parentNode.replaceChild(list, node); + + // and the namefrom lists + node = document.getElementById("index_fromauthor"); + if (node) { + parentNode = node.parentNode; + list = document.createElement("ul"); + list.id = "index_fromauthor"; + list.className = "compact"; + list.innerHTML = fromAuthor; + parentNode.replaceChild(list, node); + } + + node = document.getElementById("index_fromcontent"); + if (node) { + parentNode = node.parentNode; + list = document.createElement("ul"); + list.id = "index_fromcontent"; + list.className = "compact"; + list.innerHTML = fromContent; + parentNode.replaceChild(list, node); + } + + // assuming we found some parent roles, update those parents with their children + for (var i=0; i < subRoles.length; i++) { + var item = subRoles[subRoles[i]]; + var sortedList = item.sort(function(a,b) { return a < b ? -1 : a > b ? 1 : 0 }); + var output = "\n"; + // put it somewhere + var subRolesContainer = document.querySelector("#" + subRoles[i]); + if (subRolesContainer) { + var subRolesListContainer = subRolesContainer.querySelector(".role-children"); + if (subRolesListContainer) { + subRolesListContainer.innerHTML = output; + } + } + } + + } + + // prune out unused rows throughout the document + + $.each(document.querySelectorAll(".role-abstract, .role-parent, .role-base, .role-related, .role-scope, .role-mustcontain, .role-required-properties, .role-properties, .role-namefrom, .role-namerequired, .role-namerequired-inherited, .role-childpresentational, .role-presentational-inherited, .state-related, .property-related,.role-inherited, .role-children, .property-descendants, .state-descendants, .implicit-values"), function(i, item) { + var content = $(item).text(); + if (content.length === 1 || content.length === 0) { + // there is no item - remove the row + item.parentNode.remove(); + } else if (content === "Placeholder" + && !skipIndex + && (item.className === "role-inherited" + || item.className === "role-children" + || item.className === "property-descendants" + || item.className === "state-descendants" )) { + item.parentNode.remove(); + } + }); + + updateReferences(document); + + } + }); + +}); diff --git a/common/script/ariaChild.js b/common/script/ariaChild.js new file mode 100644 index 0000000000..5e5c623bf1 --- /dev/null +++ b/common/script/ariaChild.js @@ -0,0 +1,344 @@ +// ariaChild.js - script for aria child specifications to use +// when integrating content. Requires a roleInfo.js file in the +// same directory that contains the roleInfo data structure. +// + +/* jshint laxbreak:true, laxcomma:true, asi: true, eqeqeq: false, strict: implied, jquery: true */ +/* global $, require, roleInfo, updateReferences */ +var localRoleInfo = {} ; + +require(["core/pubsubhub"], function( respecEvents ) { + respecEvents.sub("end", function( msg ) { + if (msg == "w3c/conformance") { + var propList = {}; + var globalSP = []; + + var skipIndex = 0; + var myURL = document.URL; + if (myURL.match(/\?fast/)) { + skipIndex = 1; + } + + + // process the document before anything else is done + // first get the properties + $.each(document.querySelectorAll("pdef, sdef"), function(i, item) { + var type = (item.localName === "pdef" ? "property" : "state"); + var container = item.parentNode; + var content = item.innerHTML; + var sp = document.createElement("span"); + var title = item.getAttribute("title"); + if (!title) { + title = content; + } + sp.className = type + "-name"; + sp.title = title; + sp.innerHTML = "" + content + " (" + type + ")"; + sp.setAttribute("aria-describedby", "desc-" + title); + var dRef = item.nextElementSibling; + var desc = dRef.firstElementChild.innerHTML; + dRef.id = "desc-" + title; + dRef.setAttribute("role", "definition"); + var heading = document.createElement("h3"); + heading.appendChild(sp); + container.replaceChild(heading, item); + // add this item to the index + propList[title] = { is: type, title: title, name: content, desc: desc, roles: [] }; + var abstract = container.querySelector("." + type + "-applicability"); + if ((abstract.textContent || abstract.innerText) === "All elements of the base markup") { + globalSP.push({ is: type, title: title, name: content, desc: desc }); + } + // the pdef/sdef is gone. if we are in a div, convert that div to a section + + if (container.nodeName.toLowerCase() == "div") { + // change the enclosing DIV to a section with notoc + var sec = document.createElement("section") ; + $.each(container.attributes, function(i, attr) { + sec.setAttribute(attr.name, attr.value); + }); + $(sec).addClass("notoc"); + var theContents = container.innerHTML; + sec.innerHTML = theContents; + container.parentNode.replaceChild(sec, container) ; + } + + }); + + // what about roles? + // + // we need to do a few things here: + // 1. expand the rdef elements. + // 2. accumulate the roles into a table for the indices + // 3. grab the parent role reference so we can build up the tree + // 4. grab any local states and properties so we can hand those down to the children + // + + var subRoles = []; + var roleIndex = ""; + + $.each(document.querySelectorAll("rdef"), function(i,item) { + var container = item.parentNode; + var $pn = $(container) ; + var content = item.innerHTML; + var sp = document.createElement("h3"); + var title = item.getAttribute("title"); + if (!title) { + title = content; + } + var pnID = $pn.makeID("", title) ; + sp.className = "role-name"; + sp.title = title; + // is this a role or an abstract role + var type = "role"; + var abstract = container.querySelectorAll(".role-abstract"); + if ($(abstract).text() === "True") { + type = "abstract role"; + } + sp.innerHTML = "" + content + " (" + type + ")"; + // sp.id = title; + sp.setAttribute("aria-describedby", "desc-" + title); + var dRef = item.nextElementSibling; + var desc = dRef.firstElementChild.innerHTML; + dRef.id = "desc-" + title; + dRef.setAttribute("role", "definition"); + container.replaceChild(sp, item); + roleIndex += "
    " + content + "
    \n"; + roleIndex += "
    " + desc + "
    \n"; + // grab info about this role + // do we have a parent class? if so, put us in that parents list + var node = container.querySelectorAll(".role-parent rref"); + // s will hold the name of the parent role if any + var s = null; + var parentRoles = []; + if (node) { + $.each(node, function(foo, roleref) { + s = roleref.textContent || roleref.innerText; + + if (!subRoles[s]) { + subRoles.push(s); + subRoles[s] = []; + } + subRoles[s].push(title); + parentRoles.push(s); + }); + } + // are there supported states / properties in this role? + var attrs = []; + $.each(container.querySelectorAll(".role-properties, .role-required-properties"), function(i, node) { + if (node && ((node.textContent && node.textContent.length !== 1) || (node.innerText && node.innerText.length !== 1))) { + // looks like we do + $.each(node.querySelectorAll("pref,sref"), function(i, item) { + var name = item.getAttribute("title"); + if (!name) { + name = item.textContent || item.innerText; + } + var type = (item.localName === "pref" ? "property" : "state"); + var req = ($(node).hasClass("role-required-properties") ? true : false ); + attrs.push( { is: type, name: name, required: req } ); + // remember that the state or property is + // referenced by this role + propList[name].roles.push(title); + }); + } + }); + localRoleInfo[title] = { "name": title, "fragID": pnID, "parentRoles": parentRoles, "localprops": attrs }; + if (container.nodeName.toLowerCase() == "div") { + // change the enclosing DIV to a section with notoc + var sec = document.createElement("section") ; + $.each(container.attributes, function(i, attr) { + sec.setAttribute(attr.name, attr.value); + }); + $(sec).addClass("notoc"); + var theContents = container.innerHTML; + sec.innerHTML = theContents; + container.parentNode.replaceChild(sec, container) ; + } + }); + + var getStates = function(role) { + var ref = localRoleInfo[role]; + if (!ref) { + ref = roleInfo[role]; + } + if (!ref) { + msg.pub("error", "No role definition for " + role); + } else if (ref.allprops) { + return ref.allprops; + } else { + var myList = []; + $.merge(myList, ref.localprops); + $.each(ref.parentRoles, function(i, item) { + var pList = getStates(item); + $.merge(myList, pList); + }); + ref.allprops = myList; + return myList; + } + }; + + if (!skipIndex) { + // build up the complete inherited SP lists for each role + $.each(localRoleInfo, function(i, item) { + var output = ""; + var placeholder = document.querySelector("#" + item.fragID + " .role-inherited"); + if (placeholder) { + var myList = []; + $.each(item.parentRoles, function(j, role) { + $.merge(myList, getStates(role)); + }); + // strip out any items that we have locally + /* jshint loopfunc: true */ + if (item.localprops.length && myList.length) { + for (var j = myList.length - 1; j >=0; j--) { + item.localprops.forEach(function(x) { + if (x.name == myList[j].name) { + myList.splice(j, 1); + } + }); + } + } + var sortedList = []; + sortedList = myList.sort(function(a,b) { return a.name < b.name ? -1 : a.name > b.name ? 1 : 0; }); + var prev; + for (var k = 0; k < sortedList.length; k++) { + var role = sortedList[k]; + var req = ""; + if (role.required) { + req = " (required)"; + } + if (prev != role.name) { + output += "
  • "; + if (role.is === "state") { + output += "" + role.name + " (state)" + req; + } else { + output += "" + role.name + "" + req; + } + output += "
  • \n"; + prev = role.name; + } + } + if (output !== "") { + output = "\n"; + placeholder.innerHTML = output; + } + } + }); + + // Update state and property role references + var getAllSubRoles = function(role) { + var ref = subRoles[role]; + if (ref && ref.length) { + var myList = []; + $.each(ref, function(j, item) { + if (!myList.item) { + myList[item] = 1; + myList.push(item); + var childList = getAllSubRoles(item); + $.merge(myList, childList); + } + }); + return myList; + } else { + return []; + } + }; + + $.each(propList, function(i, item) { + var output = ""; + var section = document.querySelector("#" + item.name); + var placeholder = section.querySelector(".state-applicability, .property-applicability"); + if (placeholder && ((placeholder.textContent || placeholder.innerText) === "Placeholder") && item.roles.length) { + // update the used in roles list + var sortedList = []; + sortedList = item.roles.sort(); + for (var j = 0; j < sortedList.length; j++) { + output += "
  • " + sortedList[j] + "
  • \n"; + } + if (output !== "") { + output = "\n"; + } + placeholder.innerHTML = output; + // also update any inherited roles + var myList = []; + $.each(item.roles, function(j, role) { + var children = getAllSubRoles(role); + // Some subroles have required properties which are also required by the superclass. + // Example: The checked state of radio, which is also required by superclass checkbox. + // We only want to include these one time, so filter out the subroles. + children = jQuery.grep(children, function(subrole) { + return jQuery.inArray(subrole, propList[item.name].roles) == -1; + }); + $.merge(myList, children); + }); + placeholder = section.querySelector(".state-descendants, .property-descendants"); + if (placeholder && myList.length) { + sortedList = myList.sort(); + output = ""; + var last = ""; + for (var k = 0; k < sortedList.length; k++) { + var lItem = sortedList[k]; + if (last != lItem) { + output += "
  • " + lItem + "
  • \n"; + last = lItem; + } + } + if (output !== "") { + output = "\n"; + } + placeholder.innerHTML = output; + } + } + }); + + // spit out the index + var node = document.getElementById("index_role"); + var parentNode = node.parentNode; + var list = document.createElement("dl"); + list.id = "index_role"; + list.className = "compact"; + list.innerHTML = roleIndex; + parentNode.replaceChild(list, node); + + // assuming we found some parent roles, update those parents with their children + for (var i=0; i < subRoles.length; i++) { + var item = subRoles[subRoles[i]]; + var sortedList = item.sort(function(a,b) { return a < b ? -1 : a > b ? 1 : 0 }); + var output = "\n"; + // put it somewhere + var subRolesContainer = document.querySelector("#" + subRoles[i]); + if (subRolesContainer) { + var subRolesListContainer = subRolesContainer.querySelector(".role-children"); + if (subRolesListContainer) { + subRolesListContainer.innerHTML = output; + } + } + } + + } + + updateReferences(document); + + // prune out unused rows throughout the document + + $.each(document.querySelectorAll(".role-abstract, .role-parent, .role-base, .role-related, .role-scope, .role-mustcontain, .role-required-properties, .role-properties, .role-namefrom, .role-namerequired, .role-namerequired-inherited, .role-childpresentational, .role-presentational-inherited, .state-related, .property-related,.role-inherited, .role-children, .property-descendants, .state-descendants, .implicit-values"), function(i, item) { + var content = $(item).text(); + if (content.length === 1 || content.length === 0) { + // there is no item - remove the row + item.parentNode.remove(); + } else if (content === "Placeholder" + && !skipIndex + && (item.className === "role-inherited" + || item.className === "role-children" + || item.className === "property-descendants" + || item.className === "state-descendants" )) { + item.parentNode.remove(); + } + }); + } + }); +}); + diff --git a/common/script/resolveReferences.js b/common/script/resolveReferences.js index 1608216e3b..75c1aa6354 100644 --- a/common/script/resolveReferences.js +++ b/common/script/resolveReferences.js @@ -1,4 +1,8 @@ +/* globals respecConfig, $, localRoleInfo, roleInfo, require */ +/* exported linkCrossReferences, restrictReferences, fixIncludes */ + function linkCrossReferences() { + "use strict"; var specBaseURL = ( respecConfig.ariaSpecURLs ? respecConfig.ariaSpecURLs[respecConfig.specStatus] : null @@ -23,6 +27,13 @@ function linkCrossReferences() { var graphicsModURL = ( respecConfig.graphicsModURLs ? respecConfig.graphicsModURLs[respecConfig.specStatus] : null ); + var graphicsMappingModURL = ( respecConfig.graphicsMappingModURLs ? + respecConfig.graphicsMappingModURLs[respecConfig.specStatus] : null + ); + var practicesURL = ( respecConfig.practicesURLs ? + respecConfig.practicesURLs[respecConfig.specStatus] : null + ); + function setHrefs (selString, baseUrl) { $ (selString).each ( @@ -69,35 +80,101 @@ function linkCrossReferences() { setHrefs ('a.dpub-role-reference, a.dpub-property-reference, a.dpub-state-reference, a.dpub', dpubModURL); } else { - console.log ("linkCrossReferences(): specBaseURL is not defined."); + console.log ("linkCrossReferences(): dpubModURL is not defined."); } // Links to the Graphics WAI-ARIA Module. if (!!graphicsModURL) { setHrefs ('a.graphics-role-reference, a.graphics-property-reference, a.graphics-state-reference, a.graphics', graphicsModURL); } else { - console.log ("linkCrossReferences(): specBaseURL is not defined."); + console.log ("linkCrossReferences(): graphicsModURL is not defined."); + } +// Links to the Graphics Mapping WAI-ARIA Module. + if (!!graphicsMappingModURL) { + setHrefs ('a.graphics-role-mapping, a.graphics-property-mapping, a.graphics-state-mapping, a.graphics-mapping', graphicsMappingModURL); + } + else { + console.log ("linkCrossReferences(): graphicsMappingModURL is not defined."); + } +// Links to the Authoring Practices. + if (!!practicesURL) { + setHrefs ('a.practices', practicesURL); } + else { + console.log ("linkCrossReferences(): practicesURL is not defined."); + } + } function updateReferences(base) { // update references to properties + // + // New logic: + // 1. for each item, find it's nearest 'section' ancestor (or nearest div + // with a class of role, property, or state) + // 2. if we have not already seen this item in this section, it is a link using 'a' + // 3. otherwise, it is just a styled reference to the item using 'code' + + "use strict"; var baseURL = respecConfig.ariaSpecURLs[respecConfig.specStatus]; + var sectionMap = {} ; + $.each(base.querySelectorAll("pref, sref, rref"), function(i, item) { - var parentNode = item.parentNode; - var content = item.textContent || item.innerText; - var sp = document.createElement("a"); - sp.className = (item.localName === "pref" ? "property-reference" : (item.localName === "sref" ? "state-reference" : "role-reference")); - var URL = (item.localName === "pref" || item.localName === "sref") ? baseURL+"#" : "#"; - var ref = item.getAttribute("title"); + var $item = $(item) ; + + // what are we referencing? + var content = $item.text(); + var usedTitle = false; + var ref = $item.attr("title"); if (!ref) { - ref = content; + ref = $item.attr("data-lt"); + if (!ref) { + ref = content; + } else { + usedTitle = true; + } + } else { + usedTitle = true; + } + + // what sort of reference are we? + var theClass = ($item.is("pref") ? "property-reference" : ($item.is("sref") ? "state-reference" : "role-reference")); + + // property and state references are assumed to be in the parent document + // a role reference might be local or might be elsewhere + var URL = $item.is("pref, sref") ? baseURL+"#" : "#"; + + // assume we are making a link + var theElement = "a"; + + // pSec is the nearest parent section element + var $pSec = $item.parents("section,div.role,div.state,div.property").first(); + var pID = $pSec.attr("id"); + if (pID) { + if (sectionMap[pID]) { + if (sectionMap[pID][ref]) { + // only change the element if we not in a table or a dl + if ($item.parents("table,dl").length === 0) { + if (usedTitle) { + theElement = "span"; + } else { + theElement = "code"; + } + } + } else { + sectionMap[pID][ref] = 1; + } + } else { + sectionMap[pID] = {} ; + sectionMap[pID][ref] = 1; + } } - if (item.localName == 'rref') { + + if (theElement === "a" && $item.is('rref') ) { if (typeof localRoleInfo !== 'undefined' && localRoleInfo[ref]) { ref = localRoleInfo[ref].fragID; } else if (baseURL && roleInfo[ref]) { @@ -108,10 +185,14 @@ function updateReferences(base) { URL = baseURL + "#"; } } - sp.href = URL + ref; - sp.setAttribute("title", content); - sp.innerHTML = content; - parentNode.replaceChild(sp, item); + var sp = document.createElement(theElement); + if (theElement === "a") { + sp.href = URL + ref; + sp.className = theClass; + content = "" + content + ""; + } + sp.innerHTML=content; + $item.replaceWith(sp); }); } @@ -120,6 +201,7 @@ function updateReferences(base) { var termNames = [] ; function restrictReferences(utils, content) { + "use strict"; var base = document.createElement("div"); base.innerHTML = content; updateReferences(base); @@ -134,15 +216,20 @@ function restrictReferences(utils, content) { } }); - // add a handler to come in after all the definitions are resolved - // - // New logic: If the reference is within a 'dl' element of - // class 'termlist', and if the target of that reference is - // also within a 'dl' element of class 'termlist', then - // consider it an internal reference and ignore it. + return (base.innerHTML); +} + +// add a handler to come in after all the definitions are resolved +// +// New logic: If the reference is within a 'dl' element of +// class 'termlist', and if the target of that reference is +// also within a 'dl' element of class 'termlist', then +// consider it an internal reference and ignore it. +require(["core/pubsubhub"], function(respecEvents) { + "use strict"; respecEvents.sub('end', function(message) { - if (message == 'core/link-to-dfn') { + if (message === 'core/link-to-dfn') { // all definitions are linked $("a.internalDFN").each(function () { var $item = $(this) ; @@ -160,12 +247,13 @@ function restrictReferences(utils, content) { }); // delete any terms that were not referenced. Object.keys(termNames).forEach(function(term) { - var $p = $("#"+term) ; + var $p = $("#"+term); if ($p) { - var tList = $p.getDfnTitles(); + // Delete altered dfn elements and refs $p.parent().next().remove(); - $p.remove() ; - tList.forEach(function( item ) { + $p.parent().remove(); + + $p.getDfnTitles().forEach(function( item ) { if (respecConfig.definitionMap[item]) { delete respecConfig.definitionMap[item]; } @@ -174,16 +262,25 @@ function restrictReferences(utils, content) { }); } }); - return (base.innerHTML); -} +}); // included files are brought in after proProc. Create a DOM tree // of content then call the updateReferences method above on it. Return // the transformed content function fixIncludes(utils, content) { + "use strict"; var base = document.createElement("div"); base.innerHTML = content; updateReferences(base); return (base.innerHTML); } +// Fix the scroll-to-fragID problem: +require(["core/pubsubhub"], function (respecEvents) { + "use strict"; + respecEvents.sub("end-all", function () { + if(window.location.hash) { + window.location = window.location.hash; + } + }); +}); diff --git a/common/script/roleInfo.js b/common/script/roleInfo.js new file mode 100644 index 0000000000..9717562df2 --- /dev/null +++ b/common/script/roleInfo.js @@ -0,0 +1,5649 @@ +var roleInfo = { + "alert": { + "name": "alert", + "fragID": "alert", + "parentRoles": [ + "section" + ], + "localprops": [], + "allprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "alertdialog": { + "name": "alertdialog", + "fragID": "alertdialog", + "parentRoles": [ + "alert", + "dialog" + ], + "localprops": [] + }, + "application": { + "name": "application", + "fragID": "application", + "parentRoles": [ + "structure" + ], + "localprops": [ + { + "is": "property", + "name": "aria-activedescendant", + "required": false + } + ] + }, + "article": { + "name": "article", + "fragID": "article", + "parentRoles": [ + "document" + ], + "localprops": [ + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + } + ] + }, + "banner": { + "name": "banner", + "fragID": "banner", + "parentRoles": [ + "landmark" + ], + "localprops": [] + }, + "button": { + "name": "button", + "fragID": "button", + "parentRoles": [ + "command" + ], + "localprops": [ + { + "is": "property", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-pressed", + "required": false + } + ] + }, + "cell": { + "name": "cell", + "fragID": "cell", + "parentRoles": [ + "section" + ], + "localprops": [ + { + "is": "property", + "name": "aria-colindex", + "required": false + }, + { + "is": "property", + "name": "aria-colspan", + "required": false + }, + { + "is": "property", + "name": "aria-rowindex", + "required": false + }, + { + "is": "property", + "name": "aria-rowspan", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-colindex", + "required": false + }, + { + "is": "property", + "name": "aria-colspan", + "required": false + }, + { + "is": "property", + "name": "aria-rowindex", + "required": false + }, + { + "is": "property", + "name": "aria-rowspan", + "required": false + }, + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "checkbox": { + "name": "checkbox", + "fragID": "checkbox", + "parentRoles": [ + "input" + ], + "localprops": [ + { + "is": "state", + "name": "aria-checked", + "required": true + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + } + ], + "allprops": [ + { + "is": "state", + "name": "aria-checked", + "required": true + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "columnheader": { + "name": "columnheader", + "fragID": "columnheader", + "parentRoles": [ + "cell", + "gridcell", + "sectionhead" + ], + "localprops": [ + { + "is": "property", + "name": "aria-sort", + "required": false + } + ] + }, + "combobox": { + "name": "combobox", + "fragID": "combobox", + "parentRoles": [ + "select" + ], + "localprops": [ + { + "is": "property", + "name": "aria-controls", + "required": true + }, + { + "is": "state", + "name": "aria-expanded", + "required": true + }, + { + "is": "property", + "name": "aria-autocomplete", + "required": false + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + } + ] + }, + "command": { + "name": "command", + "fragID": "command", + "parentRoles": [ + "widget" + ], + "localprops": [], + "allprops": [ + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "complementary": { + "name": "complementary", + "fragID": "complementary", + "parentRoles": [ + "landmark" + ], + "localprops": [] + }, + "composite": { + "name": "composite", + "fragID": "composite", + "parentRoles": [ + "widget" + ], + "localprops": [ + { + "is": "property", + "name": "aria-activedescendant", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "contentinfo": { + "name": "contentinfo", + "fragID": "contentinfo", + "parentRoles": [ + "landmark" + ], + "localprops": [] + }, + "definition": { + "name": "definition", + "fragID": "definition", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "dialog": { + "name": "dialog", + "fragID": "dialog", + "parentRoles": [ + "window" + ], + "localprops": [], + "allprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-modal", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "directory": { + "name": "directory", + "fragID": "directory", + "parentRoles": [ + "list" + ], + "localprops": [] + }, + "document": { + "name": "document", + "fragID": "document", + "parentRoles": [ + "structure" + ], + "localprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + } + ], + "allprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "feed": { + "name": "feed", + "fragID": "feed", + "parentRoles": [ + "list" + ], + "localprops": [] + }, + "figure": { + "name": "figure", + "fragID": "figure", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "form": { + "name": "form", + "fragID": "form", + "parentRoles": [ + "landmark" + ], + "localprops": [] + }, + "grid": { + "name": "grid", + "fragID": "grid", + "parentRoles": [ + "composite", + "table" + ], + "localprops": [ + { + "is": "property", + "name": "aria-level", + "required": false + }, + { + "is": "property", + "name": "aria-multiselectable", + "required": false + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-level", + "required": false + }, + { + "is": "property", + "name": "aria-multiselectable", + "required": false + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + }, + { + "is": "property", + "name": "aria-colcount", + "required": false + }, + { + "is": "property", + "name": "aria-rowcount", + "required": false + }, + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "gridcell": { + "name": "gridcell", + "fragID": "gridcell", + "parentRoles": [ + "cell", + "widget" + ], + "localprops": [ + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + }, + { + "is": "state", + "name": "aria-selected", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + }, + { + "is": "state", + "name": "aria-selected", + "required": false + }, + { + "is": "property", + "name": "aria-colindex", + "required": false + }, + { + "is": "property", + "name": "aria-colspan", + "required": false + }, + { + "is": "property", + "name": "aria-rowindex", + "required": false + }, + { + "is": "property", + "name": "aria-rowspan", + "required": false + }, + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "group": { + "name": "group", + "fragID": "group", + "parentRoles": [ + "section" + ], + "localprops": [ + { + "is": "property", + "name": "aria-activedescendant", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "heading": { + "name": "heading", + "fragID": "heading", + "parentRoles": [ + "sectionhead" + ], + "localprops": [ + { + "is": "property", + "name": "aria-level", + "required": true + } + ] + }, + "img": { + "name": "img", + "fragID": "img", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "input": { + "name": "input", + "fragID": "input", + "parentRoles": [ + "widget" + ], + "localprops": [], + "allprops": [ + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "landmark": { + "name": "landmark", + "fragID": "landmark", + "parentRoles": [ + "section" + ], + "localprops": [], + "allprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "link": { + "name": "link", + "fragID": "link", + "parentRoles": [ + "command" + ], + "localprops": [ + { + "is": "property", + "name": "aria-expanded", + "required": false + } + ] + }, + "list": { + "name": "list", + "fragID": "list", + "parentRoles": [ + "section" + ], + "localprops": [], + "allprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "listbox": { + "name": "listbox", + "fragID": "listbox", + "parentRoles": [ + "select" + ], + "localprops": [ + { + "is": "property", + "name": "aria-multiselectable", + "required": false + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + } + ] + }, + "listitem": { + "name": "listitem", + "fragID": "listitem", + "parentRoles": [ + "section" + ], + "localprops": [ + { + "is": "property", + "name": "aria-level", + "required": false + }, + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-level", + "required": false + }, + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + }, + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "log": { + "name": "log", + "fragID": "log", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "main": { + "name": "main", + "fragID": "main", + "parentRoles": [ + "landmark" + ], + "localprops": [] + }, + "marquee": { + "name": "marquee", + "fragID": "marquee", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "math": { + "name": "math", + "fragID": "math", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "menu": { + "name": "menu", + "fragID": "menu", + "parentRoles": [ + "select" + ], + "localprops": [], + "allprops": [ + { + "is": "property", + "name": "aria-orientation", + "required": false + }, + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + }, + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "menubar": { + "name": "menubar", + "fragID": "menubar", + "parentRoles": [ + "menu" + ], + "localprops": [] + }, + "menuitem": { + "name": "menuitem", + "fragID": "menuitem", + "parentRoles": [ + "command" + ], + "localprops": [ + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "menuitemcheckbox": { + "name": "menuitemcheckbox", + "fragID": "menuitemcheckbox", + "parentRoles": [ + "checkbox", + "menuitem" + ], + "localprops": [], + "allprops": [ + { + "is": "state", + "name": "aria-checked", + "required": true + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + }, + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "menuitemradio": { + "name": "menuitemradio", + "fragID": "menuitemradio", + "parentRoles": [ + "menuitemcheckbox", + "radio" + ], + "localprops": [] + }, + "navigation": { + "name": "navigation", + "fragID": "navigation", + "parentRoles": [ + "landmark" + ], + "localprops": [] + }, + "none": { + "name": "none", + "fragID": "none", + "parentRoles": [], + "localprops": [] + }, + "note": { + "name": "note", + "fragID": "note", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "option": { + "name": "option", + "fragID": "option", + "parentRoles": [ + "input" + ], + "localprops": [ + { + "is": "state", + "name": "aria-selected", + "required": true + }, + { + "is": "property", + "name": "aria-checked", + "required": false + }, + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + } + ], + "allprops": [ + { + "is": "state", + "name": "aria-selected", + "required": true + }, + { + "is": "property", + "name": "aria-checked", + "required": false + }, + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "password": { + "name": "password", + "fragID": "password", + "parentRoles": [ + "input" + ], + "localprops": [ + { + "is": "property", + "name": "aria-placeholder", + "required": false + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + } + ] + }, + "presentation": { + "name": "presentation", + "fragID": "presentation", + "parentRoles": [ + "structure" + ], + "localprops": [] + }, + "progressbar": { + "name": "progressbar", + "fragID": "progressbar", + "parentRoles": [ + "range", + "status" + ], + "localprops": [] + }, + "radio": { + "name": "radio", + "fragID": "radio", + "parentRoles": [ + "input" + ], + "localprops": [ + { + "is": "state", + "name": "aria-checked", + "required": true + }, + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + } + ], + "allprops": [ + { + "is": "state", + "name": "aria-checked", + "required": true + }, + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "radiogroup": { + "name": "radiogroup", + "fragID": "radiogroup", + "parentRoles": [ + "select" + ], + "localprops": [ + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + } + ] + }, + "range": { + "name": "range", + "fragID": "range", + "parentRoles": [ + "widget" + ], + "localprops": [ + { + "is": "property", + "name": "aria-valuemax", + "required": false + }, + { + "is": "property", + "name": "aria-valuemin", + "required": false + }, + { + "is": "property", + "name": "aria-valuenow", + "required": false + }, + { + "is": "property", + "name": "aria-valuetext", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-valuemax", + "required": false + }, + { + "is": "property", + "name": "aria-valuemin", + "required": false + }, + { + "is": "property", + "name": "aria-valuenow", + "required": false + }, + { + "is": "property", + "name": "aria-valuetext", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "region": { + "name": "region", + "fragID": "region", + "parentRoles": [ + "landmark" + ], + "localprops": [] + }, + "roletype": { + "name": "roletype", + "fragID": "roletype", + "parentRoles": [], + "localprops": [ + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "row": { + "name": "row", + "fragID": "row", + "parentRoles": [ + "group", + "widget" + ], + "localprops": [ + { + "is": "property", + "name": "aria-colindex", + "required": false + }, + { + "is": "property", + "name": "aria-level", + "required": false + }, + { + "is": "property", + "name": "aria-rowindex", + "required": false + }, + { + "is": "state", + "name": "aria-selected", + "required": false + } + ] + }, + "rowgroup": { + "name": "rowgroup", + "fragID": "rowgroup", + "parentRoles": [ + "structure" + ], + "localprops": [] + }, + "rowheader": { + "name": "rowheader", + "fragID": "rowheader", + "parentRoles": [ + "cell", + "gridcell", + "sectionhead" + ], + "localprops": [ + { + "is": "property", + "name": "aria-sort", + "required": false + } + ] + }, + "scrollbar": { + "name": "scrollbar", + "fragID": "scrollbar", + "parentRoles": [ + "range" + ], + "localprops": [ + { + "is": "property", + "name": "aria-controls", + "required": true + }, + { + "is": "property", + "name": "aria-orientation", + "required": true + }, + { + "is": "property", + "name": "aria-valuemax", + "required": true + }, + { + "is": "property", + "name": "aria-valuemin", + "required": true + }, + { + "is": "property", + "name": "aria-valuenow", + "required": true + } + ] + }, + "search": { + "name": "search", + "fragID": "search", + "parentRoles": [ + "landmark" + ], + "localprops": [] + }, + "searchbox": { + "name": "searchbox", + "fragID": "searchbox", + "parentRoles": [ + "textbox" + ], + "localprops": [] + }, + "section": { + "name": "section", + "fragID": "section", + "parentRoles": [ + "structure" + ], + "localprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + } + ], + "allprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "sectionhead": { + "name": "sectionhead", + "fragID": "sectionhead", + "parentRoles": [ + "structure" + ], + "localprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + } + ], + "allprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "select": { + "name": "select", + "fragID": "select", + "parentRoles": [ + "composite", + "group" + ], + "localprops": [ + { + "is": "property", + "name": "aria-orientation", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-orientation", + "required": false + }, + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + }, + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "separator": { + "name": "separator", + "fragID": "separator", + "parentRoles": [ + "structure" + ], + "localprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-orientation", + "required": false + } + ] + }, + "slider": { + "name": "slider", + "fragID": "slider", + "parentRoles": [ + "input", + "range" + ], + "localprops": [ + { + "is": "property", + "name": "aria-valuemax", + "required": true + }, + { + "is": "property", + "name": "aria-valuemin", + "required": true + }, + { + "is": "property", + "name": "aria-valuenow", + "required": true + }, + { + "is": "property", + "name": "aria-orientation", + "required": false + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + } + ] + }, + "spinbutton": { + "name": "spinbutton", + "fragID": "spinbutton", + "parentRoles": [ + "input", + "range" + ], + "localprops": [ + { + "is": "property", + "name": "aria-valuemax", + "required": true + }, + { + "is": "property", + "name": "aria-valuemin", + "required": true + }, + { + "is": "property", + "name": "aria-valuenow", + "required": true + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + } + ] + }, + "status": { + "name": "status", + "fragID": "status", + "parentRoles": [ + "section" + ], + "localprops": [], + "allprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "structure": { + "name": "structure", + "fragID": "structure", + "parentRoles": [ + "roletype" + ], + "localprops": [], + "allprops": [ + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "switch": { + "name": "switch", + "fragID": "switch", + "parentRoles": [ + "checkbox" + ], + "localprops": [ + { + "is": "state", + "name": "aria-checked", + "required": true + } + ] + }, + "tab": { + "name": "tab", + "fragID": "tab", + "parentRoles": [ + "sectionhead", + "widget" + ], + "localprops": [ + { + "is": "property", + "name": "aria-posinset", + "required": false + }, + { + "is": "state", + "name": "aria-selected", + "required": false + }, + { + "is": "property", + "name": "aria-setsize", + "required": false + } + ] + }, + "table": { + "name": "table", + "fragID": "table", + "parentRoles": [ + "section" + ], + "localprops": [ + { + "is": "property", + "name": "aria-colcount", + "required": false + }, + { + "is": "property", + "name": "aria-rowcount", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-colcount", + "required": false + }, + { + "is": "property", + "name": "aria-rowcount", + "required": false + }, + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "tablist": { + "name": "tablist", + "fragID": "tablist", + "parentRoles": [ + "composite" + ], + "localprops": [ + { + "is": "property", + "name": "aria-level", + "required": false + }, + { + "is": "property", + "name": "aria-multiselectable", + "required": false + }, + { + "is": "property", + "name": "aria-orientation", + "required": false + } + ] + }, + "tabpanel": { + "name": "tabpanel", + "fragID": "tabpanel", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "term": { + "name": "term", + "fragID": "term", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "textbox": { + "name": "textbox", + "fragID": "textbox", + "parentRoles": [ + "input" + ], + "localprops": [ + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "property", + "name": "aria-autocomplete", + "required": false + }, + { + "is": "property", + "name": "aria-multiline", + "required": false + }, + { + "is": "property", + "name": "aria-placeholder", + "required": false + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "property", + "name": "aria-autocomplete", + "required": false + }, + { + "is": "property", + "name": "aria-multiline", + "required": false + }, + { + "is": "property", + "name": "aria-placeholder", + "required": false + }, + { + "is": "property", + "name": "aria-readonly", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "timer": { + "name": "timer", + "fragID": "timer", + "parentRoles": [ + "status" + ], + "localprops": [] + }, + "toolbar": { + "name": "toolbar", + "fragID": "toolbar", + "parentRoles": [ + "group" + ], + "localprops": [ + { + "is": "property", + "name": "aria-orientation", + "required": false + } + ] + }, + "tooltip": { + "name": "tooltip", + "fragID": "tooltip", + "parentRoles": [ + "section" + ], + "localprops": [] + }, + "tree": { + "name": "tree", + "fragID": "tree", + "parentRoles": [ + "select" + ], + "localprops": [ + { + "is": "property", + "name": "aria-multiselectable", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + } + ], + "allprops": [ + { + "is": "property", + "name": "aria-multiselectable", + "required": false + }, + { + "is": "property", + "name": "aria-required", + "required": false + }, + { + "is": "property", + "name": "aria-orientation", + "required": false + }, + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + }, + { + "is": "property", + "name": "aria-activedescendant", + "required": false + }, + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "treegrid": { + "name": "treegrid", + "fragID": "treegrid", + "parentRoles": [ + "grid", + "tree" + ], + "localprops": [] + }, + "treeitem": { + "name": "treeitem", + "fragID": "treeitem", + "parentRoles": [ + "listitem", + "option" + ], + "localprops": [] + }, + "widget": { + "name": "widget", + "fragID": "widget", + "parentRoles": [ + "roletype" + ], + "localprops": [], + "allprops": [ + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + }, + "window": { + "name": "window", + "fragID": "window", + "parentRoles": [ + "roletype" + ], + "localprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-modal", + "required": false + } + ], + "allprops": [ + { + "is": "state", + "name": "aria-expanded", + "required": false + }, + { + "is": "property", + "name": "aria-modal", + "required": false + }, + { + "is": "property", + "name": "aria-atomic", + "required": false + }, + { + "is": "state", + "name": "aria-busy", + "required": false + }, + { + "is": "property", + "name": "aria-controls", + "required": false + }, + { + "is": "state", + "name": "aria-current", + "required": false + }, + { + "is": "property", + "name": "aria-describedby", + "required": false + }, + { + "is": "property", + "name": "aria-details", + "required": false + }, + { + "is": "state", + "name": "aria-disabled", + "required": false + }, + { + "is": "property", + "name": "aria-dropeffect", + "required": false + }, + { + "is": "property", + "name": "aria-errormessage", + "required": false + }, + { + "is": "property", + "name": "aria-flowto", + "required": false + }, + { + "is": "state", + "name": "aria-grabbed", + "required": false + }, + { + "is": "property", + "name": "aria-haspopup", + "required": false + }, + { + "is": "state", + "name": "aria-hidden", + "required": false + }, + { + "is": "state", + "name": "aria-invalid", + "required": false + }, + { + "is": "property", + "name": "aria-keyshortcuts", + "required": false + }, + { + "is": "property", + "name": "aria-label", + "required": false + }, + { + "is": "property", + "name": "aria-labelledby", + "required": false + }, + { + "is": "property", + "name": "aria-live", + "required": false + }, + { + "is": "property", + "name": "aria-owns", + "required": false + }, + { + "is": "property", + "name": "aria-relevant", + "required": false + }, + { + "is": "property", + "name": "aria-roledescription", + "required": false + } + ] + } +} + diff --git a/common/terms.html b/common/terms.html index e725931aee..d37fc5d7f2 100644 --- a/common/terms.html +++ b/common/terms.html @@ -1,9 +1,9 @@

    While some terms are defined in place, the following definitions are used throughout this document.

    -
    +
    Accessibility API

    Operating systems and other platforms provide a set of interfaces that expose information about objects and events to assistive technologies. Assistive technologies use these interfaces to get information about and interact with those widgets. Examples of accessibility APIs are Microsoft Active Accessibility [[MSAA]], Microsoft User Interface Automation [[UI-AUTOMATION]], MSAA with UIA Express [[UIA-EXPRESS]], the - Mac OS X Accessibility Protocol [[AXAPI]], the Linux/Unix Accessibility Toolkit [[ATK]] and Assistive Technology Service Provider Interface [[AT-SPI]], and IAccessible2 [[IAccessible2]].

    + Mac OS X Accessibility Protocol [[AXAPI]], the Linux/Unix Accessibility Toolkit [[ATK]] and Assistive Technology Service Provider Interface [[AT-SPI]], and IAccessible2 [[IAccessible2]].

    Accessibility Subtree
    @@ -17,12 +17,12 @@

    An accessible description provides additional information, related to an interface element, that complements the accessible name. The accessible description might or might not be visually perceivable.

    -
    Accessible Name
    +
    Accessible Name

    The accessible name is the name of a user interface element. Each platform accessibility API provides the accessible name property. The value of the accessible name may be derived from a visible (e.g., the visible text on a button) or invisible (e.g., the text alternative that describes an icon) property of the user interface element. See related accessible description.

    A simple use for the accessible name property may be illustrated by an "OK" button. The text "OK" is the accessible name. When the button receives focus, assistive technologies may concatenate the platform's role description with the accessible name. For example, a screen reader may speak "push-button OK" or "OK button". The order of concatenation and specifics of the role description (e.g., "button", "push-button", "clickable button") are determined by platform accessibility APIs or assistive technologies.

    -
    Accessible object
    +
    Accessible object

    A node in the accessibility tree of a platform accessibility API. Accessible objects expose various states, properties, and events for use by assistive technologies. In the context of markup languages (e.g., HTML and SVG) in general, and of WAI-ARIA in particular, markup elements and their attributes are represented as accessible objects.

    @@ -49,43 +49,43 @@
  • alternate pointing devices, which are used to simulate mouse pointing and clicking.
  • -
    Attribute
    +
    Attribute

    In this specification, attribute is used as it is in markup languages. Attributes are structural features added to elements to provide information about the states and properties of the object represented by the element.

    -
    Class
    +
    Class

    A set of instance objects that share similar characteristics.

    -
    Deprecated
    +
    Deprecated
    -

    A deprecated role, state, or property is one which has been outdated by newer constructs or changed circumstances, and which may be removed in future versions of the WAI-ARIA specification. User agents are encouraged to continue to support items identified as deprecated for backward compatibility.

    +

    A deprecated role, state, or property is one which has been outdated by newer constructs or changed circumstances, and which may be removed in future versions of the WAI-ARIA specification. User agents are encouraged to continue to support items identified as deprecated for backward compatibility. For more information, see Deprecated Requirements in the Conformance section.

    Desktop focus event

    Event from/to the host operating system via the accessibility API, notifying of a change of input focus.

    -
    Element
    +
    Element

    In this specification, element is used as it is in markup languages. Elements are the structural elements in markup language that contains the data profile for objects.

    -
    Event
    +
    Event

    A programmatic message used to communicate discrete changes in the state of an object to other objects in a computational system. User input to a web page is commonly mediated through abstract events that describe the interaction and can provide notice of changes to the state of a document object. In some programming languages, events are more commonly known as notifications.

    Expose
    -

    Translated to platform-specific accessibility APIs as defined in the WAI-ARIA User Agent Implementation Guide. [[WAI-ARIA-IMPLEMENTATION]]

    +

    Translated to platform-specific accessibility APIs as defined in the Core Accessibility API Mappings. [[CORE-AAM-1.1]]

    -
    Graphical Document
    +
    Graphical Document

    A document containing graphic representations with user-navigable parts. Charts, maps, diagrams, blueprints, and dashboards are examples of graphical documents. A graphical document is composed using any combination of symbols, images, text, and graphic primitives (shapes such as circles, points, lines, paths, rectangles, etc).

    Hidden
    -

    Indicates that the element is not visible or perceivable to any user. An element is considered hidden if it or any one of its ancestor elements is not rendered or explicitly hidden.

    +

    Indicates that the element is not visible, perceivable, or interactive to any user. An element is considered hidden if it or any one of its ancestor elements is not rendered or is explicitly hidden.

    -
    Informative
    +
    Informative

    Content provided for information purposes and not required for conformance. Content required for conformance is referred to as normative.

    @@ -93,19 +93,19 @@

    Accessible to the user using a keyboard or assistive technologies that mimic keyboard input, such as a sip and puff tube. References in this document relate to WCAG 2.0 Guideline 2.1: Make all functionality available from a keyboard [[WCAG20]].

    -
    Landmark
    +
    Landmark

    A type of region on a page to which the user may want quick access. Content in such a region is different from that of other regions on the page and relevant to a specific user purpose, such as navigating, searching, perusing the primary content, etc.

    -
    Live Region
    +
    Live Region
    -

    Live regions are perceivable regions of a web page that are typically updated as a result of an external event when user focus may be elsewhere. These regions are not always updated as result of a user interaction. This practice has become commonplace with the growing use of Ajax. Examples of live regions include a chat log, stock ticker, or a sport scoring section that updates periodically to reflect game statistics. Since these asynchronous areas are expected to update outside the user's area of focus, assistive technologies such as screen readers have either been unaware of their existence or unable to process them for the user. WAI-ARIA has provided a collection of properties that allow the author to identify these live regions and how to process them: aria-live, aria-relevant, aria-atomic, and aria-busy. Pre-defined live region roles are listed in the Choosing Between Special Case Live Regions ([[WAI-ARIA-PRACTICES]], Section 5.3).

    +

    Live regions are perceivable regions of a web page that are typically updated as a result of an external event when user focus may be elsewhere. These regions are not always updated as a result of a user interaction. This practice has become commonplace with the growing use of Ajax. Examples of live regions include a chat log, stock ticker, or a sport scoring section that updates periodically to reflect game statistics. Since these asynchronous areas are expected to update outside the user's area of focus, assistive technologies such as screen readers have either been unaware of their existence or unable to process them for the user. WAI-ARIA has provided a collection of properties that allow the author to identify these live regions and process them: aria-live, aria-relevant, aria-atomic, and aria-busy.

    Primary Content Element

    An implementing host language's primary content element, such as the body element in HTML.

    -
    Managed State
    +
    Managed State

    Accessibility API state that is controlled by the user agent, such as focus and selection. These are contrasted with "unmanaged states" that are typically controlled by the author. Nevertheless, authors can override some managed states, such as aria-posinset and aria-setsize. Many managed states have corresponding CSS pseudo-classes, such as :focus, and pseudo-elements, such as ::selection, that are also updated by the user agent.

    @@ -121,7 +121,7 @@

    Required for conformance. By contrast, content identified as informative or "non-normative" is not required for conformance.

    -
    Object
    +
    Object

    In the context of user interfaces, an item in the perceptual user experience, represented in markup languages by one or more elements, and rendered by user agents.

    In the context of programming, the instantiation of one or more classes and interfaces which define the general characteristics of similar objects. An object in an accessibility API may represent one or more DOM objects. Accessibility APIs have defined interfaces that are distinct from DOM interfaces.
    @@ -134,11 +134,11 @@

    Usable by users in ways they can control. References in this document relate to WCAG 2.0 Principle 2: Content must be operable [[WCAG20]]. See Keyboard Accessible.

    -
    Owned Element
    +
    Owned Element

    An 'owned element' is any DOM descendant of the element, any element specified as a child via aria-owns, or any DOM descendant of the owned child.

    -
    Owning Element
    +
    Owning Element

    An 'owning element' is any DOM ancestor of the element, or any element with an aria-owns attribute which references the ID of the element.

    @@ -146,15 +146,15 @@

    Presentable to users in ways they can sense. References in this document relate to WCAG 2.0 Principle 1: Content must be perceivable [[WCAG20]].

    -
    Property
    +
    Property
    -

    Attributes that are essential to the nature of a given object, or that represent a data value associated with the object. A change of a property may significantly impact the meaning or presentation of an object. Certain properties (for example, aria-multiline) are less likely to change than states, but note that the frequency of change difference is not a rule. A few properties, such as aria-activedescendant, aria-valuenow, and aria-valuetext are expected to change often. See clarification of states versus properties.

    +

    Attributes that are essential to the nature of a given object, or that represent a data value associated with the object. A change of a property may significantly impact the meaning or presentation of an object. Certain properties (for example, aria-multiline) are less likely to change than states, but note that the frequency of change difference is not a rule. A few properties, such as aria-activedescendant, aria-valuenow, and aria-valuetext are expected to change often. See clarification of states versus properties.

    -
    Relationship
    +
    Relationship

    A connection between two distinct things. Relationships may be of various types to indicate which object labels another, controls another, etc.

    -
    Role
    +
    Role

    Main indicator of type. This semantic association allows tools to present and support interaction with the object in a manner that is consistent with user expectations about other objects of that type.

    @@ -162,13 +162,13 @@

    The primary element containing non-metadata content. In many languages, this is the document element but in HTML, it is the <body>.

    -
    Semantics
    +
    Semantics

    The meaning of something as understood by a human, defined in a way that computers can process a representation of an object, such as elements and attributes, and reliably represent the object in a way that various humans will achieve a mutually consistent understanding of the object.

    -
    State
    +
    State
    -

    A state is a dynamic property expressing characteristics of an object that may change in response to user action or automated processes. States do not affect the essential nature of the object, but represent data associated with the object or user interaction possibilities. See clarification of states versus properties.

    +

    A state is a dynamic property expressing characteristics of an object that may change in response to user action or automated processes. States do not affect the essential nature of the object, but represent data associated with the object or user interaction possibilities. See clarification of states versus properties.

    Sub-document
    @@ -186,11 +186,15 @@

    Type of DOM node that represents the textual content of an attribute or an element. A Text node has no child nodes.

    +
    Tooltip attribute
    +
    +

    Any host language attribute that would result in a user agent generating a tooltip such as in response to a mouse hover in desktop user agents.

    +
    Understandable

    Presentable to users in ways they can construct an appropriate meaning. References in this document relate to WCAG 2.0 Principle 3: Information and the operation of user interface must be understandable [[WCAG20]].

    -
    User Agent
    +
    User Agent

    Any software that retrieves, renders and facilitates end user interaction with Web content. This definition may differ from that used in other documents.

    @@ -198,7 +202,7 @@

    A reference to a target element in the same document that has a matching ID

    -
    Widget
    +
    Widget

    Discrete user interface object with which the user can interact. Widgets range from simple objects that have one value or operation (e.g., check boxes and menu items), to complex objects that contain many managed sub-objects (e.g., trees and grids).

    diff --git a/common/utility/aria-taxonomy.xmi b/common/utility/aria-taxonomy.xmi index 2f9f66cbb3..ee0517882f 100644 --- a/common/utility/aria-taxonomy.xmi +++ b/common/utility/aria-taxonomy.xmi @@ -1,5 +1,5 @@ - + ArgoUML (using Netbeans XMI Writer version 1.0) 0.34(6) revised on $Date: 2010-01-11 22:20:14 +0100 (Mon, 11 Jan 2010) $ @@ -12,17 +12,9 @@ - + - - - - - - - - @@ -51,24 +43,54 @@ isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'> - + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -78,14 +100,6 @@ - - - - - - - - @@ -158,6 +172,18 @@ + + + + + + + + + @@ -174,7 +200,7 @@ - + - - - - - - - - @@ -247,6 +265,18 @@ + + + + + + + + + @@ -434,7 +464,7 @@ isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'> - + - - - - - - - - - + - - - - - - - - @@ -639,17 +653,9 @@ - + - - - - - - - - @@ -681,21 +687,12 @@ - + - - - - - - - - - @@ -711,6 +708,18 @@ + + + + + + + + + @@ -725,14 +734,6 @@ - - - - - - - - @@ -796,17 +797,9 @@ - + - - - - - - - - @@ -852,18 +845,9 @@ - - - - - - - - - @@ -891,6 +875,32 @@ + + + + + + + + + + + + + + + + + + + + @@ -1082,7 +1092,7 @@ - + - - - - - - - - @@ -1138,6 +1140,18 @@ + + + + + + + + + @@ -1227,17 +1241,9 @@ - + - - - - - - - - @@ -1277,14 +1283,14 @@ - + - + - + @@ -1301,6 +1307,18 @@ + + + + + + + + + @@ -1325,6 +1343,18 @@ + + + + + + + + + @@ -1385,6 +1415,18 @@ + + + + + + + + + @@ -1445,6 +1487,18 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1516,7 +1594,7 @@ - + - - - - - - - - @@ -1635,7 +1705,6 @@ - - - - - - - - - + - - + - - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1710,7 +1808,7 @@ + isSpecification = 'false' discriminator = 'if not focusable'> @@ -1722,7 +1820,6 @@ isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'> - @@ -1788,14 +1885,6 @@ - - - - - - - - @@ -1859,6 +1948,18 @@ + + + + + + + + + @@ -1883,6 +1984,7 @@ + + + + + + + + + + @@ -1954,17 +2068,9 @@ - + - - - - - - - - @@ -2045,7 +2151,6 @@ isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'> - - - - - - - - - - + - - - - - - - - @@ -2158,6 +2247,18 @@ + + + + + + + + + @@ -2376,22 +2477,329 @@ - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/utility/aria-taxonomy.xmi.zargo b/common/utility/aria-taxonomy.xmi.zargo index 6bd44f2658..b0c81f5f42 100644 Binary files a/common/utility/aria-taxonomy.xmi.zargo and b/common/utility/aria-taxonomy.xmi.zargo differ