CINXE.COM
Accessible Rich Internet Applications (WAI-ARIA) 1.2
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"><head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta name="generator" content="ReSpec 34.1.1"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <style> span.example-title{text-transform:none} :is(aside,div).example,div.illegal-example{padding:.5em;margin:1em 0;position:relative;clear:both} div.illegal-example{color:red} div.illegal-example p{color:#000} :is(aside,div).example{border-left-width:.5em;border-left-style:solid;border-color:#e0cb52;background:#fcfaee} aside.example div.example{border-left-width:.1em;border-color:#999;background:#fff} .example pre{background-color:rgba(0,0,0,.03)} </style> <style> .issue-label{text-transform:initial} .warning>p:first-child{margin-top:0} .warning{padding:.5em;border-left-width:.5em;border-left-style:solid} span.warning{padding:.1em .5em .15em} .issue.closed span.issue-number{text-decoration:line-through} .issue.closed span.issue-number::after{content:" (Closed)";font-size:smaller} .warning{border-color:#f11;border-width:.2em;border-style:solid;background:#fbe9e9} .warning-title:before{content:"⚠";font-size:1.3em;float:left;padding-right:.3em;margin-top:-.3em} li.task-list-item{list-style:none} input.task-list-item-checkbox{margin:0 .35em .25em -1.6em;vertical-align:middle} .issue a.respec-gh-label{padding:5px;margin:0 2px 0 2px;font-size:10px;text-transform:none;text-decoration:none;font-weight:700;border-radius:4px;position:relative;bottom:2px;border:none;display:inline-block} </style> <style> pre.idl{padding:1em;position:relative} pre.idl>code{color:#000} @media print{ pre.idl{white-space:pre-wrap} } .idlHeader{display:block;width:150px;background:#8ccbf2;color:#fff;font-family:sans-serif;font-weight:700;margin:-1em 0 1em -1em;height:28px;line-height:28px} .idlHeader a.self-link{margin-left:.3cm;text-decoration:none;border-bottom:none} .idlID{font-weight:700;color:#005a9c} .idlType{color:#005a9c} .idlName{color:#ff4500} .idlName a{color:#ff4500;border-bottom:1px dotted #ff4500;text-decoration:none} a.idlEnumItem{color:#000;border-bottom:1px dotted #ccc;text-decoration:none} .idlSuperclass{font-style:italic;color:#005a9c} .idlDefaultValue,.idlParamName{font-style:italic} .extAttr{color:#666} .idlSectionComment{color:gray} .idlIncludes a{font-weight:700} .respec-button-copy-paste:focus{text-decoration:none;border-color:#51a7e8;outline:0;box-shadow:0 0 5px rgba(81,167,232,.5)} .respec-button-copy-paste:is(:focus:hover,.selected:focus){border-color:#51a7e8} .respec-button-copy-paste:is(:hover,:active,.zeroclipboard-is-hover,.zeroclipboard-is-active){text-decoration:none;background-color:#ddd;background-image:linear-gradient(#eee,#ddd);border-color:#ccc} .respec-button-copy-paste:is(:active,.selected,.zeroclipboard-is-active){background-color:#dcdcdc;background-image:none;border-color:#b5b5b5;box-shadow:inset 0 2px 4px rgba(0,0,0,.15)} .respec-button-copy-paste.selected:hover{background-color:#cfcfcf} .respec-button-copy-paste:is(:disabled,:disabled:hover,.disabled,.disabled:hover){color:rgba(102,102,102,.5);cursor:default;background-color:rgba(229,229,229,.5);background-image:none;border-color:rgba(197,197,197,.5);box-shadow:none} @media print{ .respec-button-copy-paste{visibility:hidden} } </style> <style> dfn{cursor:pointer} .dfn-panel{position:absolute;z-index:35;min-width:300px;max-width:500px;padding:.5em .75em;margin-top:.6em;font-family:"Helvetica Neue",sans-serif;font-size:small;background:#fff;color:#000;box-shadow:0 1em 3em -.4em rgba(0,0,0,.3),0 0 1px 1px rgba(0,0,0,.05);border-radius:2px} .dfn-panel:not(.docked)>.caret{position:absolute;top:-9px} .dfn-panel:not(.docked)>.caret::after,.dfn-panel:not(.docked)>.caret::before{content:"";position:absolute;border:10px solid transparent;border-top:0;border-bottom:10px solid #fff;top:0} .dfn-panel:not(.docked)>.caret::before{border-bottom:9px solid #a2a9b1} .dfn-panel *{margin:0} .dfn-panel b{display:block;color:#000;margin-top:.25em} .dfn-panel ul a[href]{color:#333} .dfn-panel>div{display:flex} .dfn-panel a.self-link{font-weight:700;margin-right:auto} .dfn-panel .marker{padding:.1em;margin-left:.5em;border-radius:.2em;text-align:center;white-space:nowrap;font-size:90%;color:#040b1c} .dfn-panel .marker.dfn-exported{background:#d1edfd;box-shadow:0 0 0 .125em #1ca5f940} .dfn-panel .marker.idl-block{background:#8ccbf2;box-shadow:0 0 0 .125em #0670b161} .dfn-panel a:not(:hover){text-decoration:none!important;border-bottom:none!important} .dfn-panel a[href]:hover{border-bottom-width:1px} .dfn-panel ul{padding:0} .dfn-panel li{margin-left:1em} .dfn-panel.docked{position:fixed;left:.5em;top:unset;bottom:2em;margin:0 auto;max-width:calc(100vw - .75em * 2 - .5em - .2em * 2);max-height:30vh;overflow:auto} </style> <title>Accessible Rich Internet Applications (WAI-ARIA) 1.2</title> <style id="respec-mainstyle"> @keyframes pop{ 0%{transform:scale(1,1)} 25%{transform:scale(1.25,1.25);opacity:.75} 100%{transform:scale(1,1)} } :is(h1,h2,h3,h4,h5,h6,a) abbr{border:none} dfn{font-weight:700} a.internalDFN{color:inherit;border-bottom:1px solid #99c;text-decoration:none} a.externalDFN{color:inherit;border-bottom:1px dotted #ccc;text-decoration:none} a.bibref{text-decoration:none} .respec-offending-element:target{animation:pop .25s ease-in-out 0s 1} .respec-offending-element,a[href].respec-offending-element{text-decoration:red wavy underline} @supports not (text-decoration:red wavy underline){ .respec-offending-element:not(pre){display:inline-block} .respec-offending-element{background:url(data:image/gif;base64,R0lGODdhBAADAPEAANv///8AAP///wAAACwAAAAABAADAEACBZQjmIAFADs=) bottom repeat-x} } #references :target{background:#eaf3ff;animation:pop .4s ease-in-out 0s 1} cite .bibref{font-style:normal} a[href].orcid{padding-left:4px;padding-right:4px} a[href].orcid>svg{margin-bottom:-2px} .toc a,.tof a{text-decoration:none} a .figno,a .secno{color:#000} ol.tof,ul.tof{list-style:none outside none} .caption{margin-top:.5em;font-style:italic} table.simple{border-spacing:0;border-collapse:collapse;border-bottom:3px solid #005a9c} .simple th{background:#005a9c;color:#fff;padding:3px 5px;text-align:left} .simple th a{color:#fff;padding:3px 5px;text-align:left} .simple th[scope=row]{background:inherit;color:inherit;border-top:1px solid #ddd} .simple td{padding:3px 10px;border-top:1px solid #ddd} .simple tr:nth-child(even){background:#f0f6ff} .section dd>p:first-child{margin-top:0} .section dd>p:last-child{margin-bottom:0} .section dd{margin-bottom:1em} .section dl.attrs dd,.section dl.eldef dd{margin-bottom:0} #issue-summary>ul{column-count:2} #issue-summary li{list-style:none;display:inline-block} details.respec-tests-details{margin-left:1em;display:inline-block;vertical-align:top} details.respec-tests-details>*{padding-right:2em} details.respec-tests-details[open]{z-index:999999;position:absolute;border:thin solid #cad3e2;border-radius:.3em;background-color:#fff;padding-bottom:.5em} details.respec-tests-details[open]>summary{border-bottom:thin solid #cad3e2;padding-left:1em;margin-bottom:1em;line-height:2em} details.respec-tests-details>ul{width:100%;margin-top:-.3em} details.respec-tests-details>li{padding-left:1em} .self-link:hover{opacity:1;text-decoration:none;background-color:transparent} aside.example .marker>a.self-link{color:inherit} .header-wrapper{display:flex;align-items:baseline} :is(h2,h3,h4,h5,h6):not(#toc>h2,#abstract>h2,#sotd>h2,.head>h2){position:relative;left:-.5em} :is(h2,h3,h4,h5,h6):not(#toch2)+a.self-link{color:inherit;order:-1;position:relative;left:-1.1em;font-size:1rem;opacity:.5} :is(h2,h3,h4,h5,h6)+a.self-link::before{content:"§";text-decoration:none;color:var(--heading-text)} :is(h2,h3)+a.self-link{top:-.2em} :is(h4,h5,h6)+a.self-link::before{color:#000} @media (max-width:767px){ dd{margin-left:0} } @media print{ .removeOnSave{display:none} } </style> <link href="common/css/common.css" rel="stylesheet" type="text/css"> <meta name="description" content="Accessibility of web content requires semantic information about widgets, structures, and behaviors, in order to allow assistive technologies to convey appropriate information to persons with disabilities. This specification provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information to assistive technologies in document-level markup. This version adds features new since WAI-ARIA 1.1 [wai-aria-1.1] to improve interoperability with assistive technologies to form a more consistent accessibility model for [HTML] and [SVG2]. This specification complements both [HTML] and [SVG2]."> <link rel="canonical" href="https://www.w3.org/TR/wai-aria-1.2/"> <script type="application/ld+json">{ "@context": [ "http://schema.org", { "@vocab": "http://schema.org/", "@language": "en-US", "w3p": "http://www.w3.org/2001/02pd/rec54#", "foaf": "http://xmlns.com/foaf/0.1/", "datePublished": { "@type": "http://www.w3.org/2001/XMLSchema#date" }, "inLanguage": { "@language": null }, "isBasedOn": { "@type": "@id" }, "license": { "@type": "@id" } } ], "id": "https://www.w3.org/TR/wai-aria-1.2/", "type": [ "TechArticle", "w3p:REC" ], "name": "Accessible Rich Internet Applications (WAI-ARIA) 1.2", "inLanguage": "en-US", "license": "https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document", "datePublished": "2023-06-06", "copyrightHolder": { "name": "World Wide Web Consortium", "url": "https://www.w3.org/" }, "discussionUrl": "https://github.com/w3c/aria/issues/", "alternativeHeadline": "", "isBasedOn": "https://www.w3.org/TR/2023/PR-wai-aria-1.2-20230328/", "description": "Accessibility of web content requires semantic information about widgets, structures, and behaviors, in order to allow assistive technologies to convey appropriate information to persons with disabilities. This specification provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information to assistive technologies in document-level markup. This version adds features new since WAI-ARIA 1.1 [wai-aria-1.1] to improve interoperability with assistive technologies to form a more consistent accessibility model for [HTML] and [SVG2]. This specification complements both [HTML] and [SVG2].", "editor": [ { "type": "Person", "name": "Joanmarie Diggs", "worksFor": { "name": "Igalia, S.L.", "url": "https://www.igalia.com" } }, { "type": "Person", "name": "James Nurthen", "worksFor": { "name": "Adobe", "url": "https://www.adobe.com/" } }, { "type": "Person", "name": "Michael Cooper", "worksFor": { "name": "W3C", "url": "http://www.w3.org" } }, { "type": "Person", "name": "Carolyn MacLeod", "worksFor": { "name": "IBM", "url": "http://www.ibm.com" } } ], "contributor": [], "citation": [ { "id": "https://www.rfc-editor.org/rfc/rfc2119", "type": "TechArticle", "name": "Key words for use in RFCs to Indicate Requirement Levels", "url": "https://www.rfc-editor.org/rfc/rfc2119", "creator": [ { "name": "S. Bradner" } ], "publisher": { "name": "IETF" } }, { "id": "https://www.w3.org/TR/role-attribute/", "type": "TechArticle", "name": "Role Attribute 1.0", "url": "https://www.w3.org/TR/role-attribute/", "creator": [ { "name": "Shane McCarron" } ], "publisher": { "name": "W3C" } }, { "id": "https://www.w3.org/TR/selectors-3/", "type": "TechArticle", "name": "Selectors Level 3", "url": "https://www.w3.org/TR/selectors-3/", "creator": [ { "name": "Tantek Çelik" }, { "name": "Elika Etemad" }, { "name": "Daniel Glazman" }, { "name": "Ian Hickson" }, { "name": "Peter Linss" }, { "name": "John Williams" } ], "publisher": { "name": "W3C" } }, { "id": "https://html.spec.whatwg.org/multipage/", "type": "TechArticle", "name": "HTML Standard", "url": "https://html.spec.whatwg.org/multipage/", "creator": [ { "name": "Anne van Kesteren" }, { "name": "Domenic Denicola" }, { "name": "Ian Hickson" }, { "name": "Philip Jägenstedt" }, { "name": "Simon Pieters" } ], "publisher": { "name": "WHATWG" } }, { "id": "https://www.w3.org/TR/SVG2/", "type": "TechArticle", "name": "Scalable Vector Graphics (SVG) 2", "url": "https://www.w3.org/TR/SVG2/", "creator": [ { "name": "Amelia Bellamy-Royds" }, { "name": "Bogdan Brinza" }, { "name": "Chris Lilley" }, { "name": "Dirk Schulze" }, { "name": "David Storey" }, { "name": "Eric Willigers" } ], "publisher": { "name": "W3C" } }, { "id": "https://www.w3.org/TR/accname-1.2/", "type": "TechArticle", "name": "Accessible Name and Description Computation 1.2", "url": "https://www.w3.org/TR/accname-1.2/", "creator": [ { "name": "Bryan Garaventa" }, { "name": "Joanmarie Diggs" }, { "name": "Michael Cooper" } ], "publisher": { "name": "W3C" } }, { "id": "https://www.w3.org/TR/MathML3/", "type": "TechArticle", "name": "Mathematical Markup Language (MathML) Version 3.0 2nd Edition", "url": "https://www.w3.org/TR/MathML3/", "creator": [ { "name": "David Carlisle" }, { "name": "Patrick D F Ion" }, { "name": "Robert R Miner" } ], "publisher": { "name": "W3C" } }, { "id": "https://dom.spec.whatwg.org/", "type": "TechArticle", "name": "DOM Standard", "url": "https://dom.spec.whatwg.org/", "creator": [ { "name": "Anne van Kesteren" } ], "publisher": { "name": "WHATWG" } }, { "id": "https://www.w3.org/TR/uievents-key/", "type": "TechArticle", "name": "UI Events KeyboardEvent key Values", "url": "https://www.w3.org/TR/uievents-key/", "creator": [ { "name": "Travis Leithead" }, { "name": "Gary Kacmarcik" } ], "publisher": { "name": "W3C" } }, { "id": "https://www.w3.org/TR/core-aam-1.2/", "type": "TechArticle", "name": "Core Accessibility API Mappings 1.2", "url": "https://www.w3.org/TR/core-aam-1.2/", "creator": [ { "name": "Valerie Young" }, { "name": "Alexander Surkov" }, { "name": "Michael Cooper" } ], "publisher": { "name": "W3C" } }, { "id": "https://www.w3.org/TR/xml-names/", "type": "TechArticle", "name": "Namespaces in XML 1.0 (Third Edition)", "url": "https://www.w3.org/TR/xml-names/", "creator": [ { "name": "Tim Bray" }, { "name": "Dave Hollander" }, { "name": "Andrew Layman" }, { "name": "Richard Tobin" }, { "name": "Henry Thompson" } ], "publisher": { "name": "W3C" } }, { "id": "https://www.w3.org/TR/core-aam-1.1/", "type": "TechArticle", "name": "Core Accessibility API Mappings 1.1", "url": "https://www.w3.org/TR/core-aam-1.1/", "creator": [ { "name": "Joanmarie Diggs" }, { "name": "Joseph Scheuhammer" }, { "name": "Richard Schwerdtfeger" }, { "name": "Michael Cooper" }, { "name": "Andi Snow-Weaver" }, { "name": "Aaron Leventhal" } ], "publisher": { "name": "W3C" } }, { "id": "https://webidl.spec.whatwg.org/", "type": "TechArticle", "name": "Web IDL Standard", "url": "https://webidl.spec.whatwg.org/", "creator": [ { "name": "Edgar Chen" }, { "name": "Timothy Gu" } ], "publisher": { "name": "WHATWG" } }, { "id": "https://www.w3.org/TR/wai-aria-1.1/", "type": "TechArticle", "name": "Accessible Rich Internet Applications (WAI-ARIA) 1.1", "url": "https://www.w3.org/TR/wai-aria-1.1/", "creator": [ { "name": "Joanmarie Diggs" }, { "name": "Shane McCarron" }, { "name": "Michael Cooper" }, { "name": "Richard Schwerdtfeger" }, { "name": "James Craig" } ], "publisher": { "name": "W3C" } }, { "id": "https://www.w3.org/TR/wai-aria-practices-1.2/", "type": "TechArticle", "name": "WAI-ARIA Authoring Practices 1.2", "url": "https://www.w3.org/TR/wai-aria-practices-1.2/", "creator": [ { "name": "Matthew King" }, { "name": "JaEun Jemma Ku" }, { "name": "James Nurthen" }, { "name": "Zoë Bijl" }, { "name": "Michael Cooper" } ], "publisher": { "name": "W3C" } }, { "id": "https://www.w3.org/TR/xmlschema11-2/", "type": "TechArticle", "name": "W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes", "url": "https://www.w3.org/TR/xmlschema11-2/", "creator": [ { "name": "David Peterson" }, { "name": "Sandy Gao" }, { "name": "Ashok Malhotra" }, { "name": "Michael Sperberg-McQueen" }, { "name": "Henry Thompson" }, { "name": "Paul V. Biron" } ], "publisher": { "name": "W3C" } }, { "id": "https://docs.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility", "type": "TechArticle", "name": "Microsoft Active Accessibility (MSAA)", "url": "https://docs.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility", "publisher": { "name": "Microsoft Corporation" } }, { "id": "https://docs.microsoft.com/en-us/windows/win32/winauto/ui-automation-specification", "type": "TechArticle", "name": "UI Automation", "url": "https://docs.microsoft.com/en-us/windows/win32/winauto/ui-automation-specification", "publisher": { "name": "Microsoft Corporation" } }, { "id": "https://docs.microsoft.com/en-us/windows/win32/winauto/iaccessibleex", "type": "TechArticle", "name": "The IAccessibleEx Interface", "url": "https://docs.microsoft.com/en-us/windows/win32/winauto/iaccessibleex", "publisher": { "name": "Microsoft Corporation" } }, { "id": "https://developer.apple.com/documentation/appkit/nsaccessibility", "type": "TechArticle", "name": "The NSAccessibility Protocol for macOS", "url": "https://developer.apple.com/documentation/appkit/nsaccessibility", "publisher": { "name": "Apple, Inc." } }, { "id": "https://developer.gnome.org/atk/stable/", "type": "TechArticle", "name": "ATK - Accessibility Toolkit", "url": "https://developer.gnome.org/atk/stable/", "publisher": { "name": "The GNOME Project" } }, { "id": "https://developer-old.gnome.org/libatspi/stable/", "type": "TechArticle", "name": "Assistive Technology Service Provider Interface", "url": "https://developer-old.gnome.org/libatspi/stable/", "publisher": { "name": "The GNOME Project" } }, { "id": "https://wiki.linuxfoundation.org/accessibility/iaccessible2/", "type": "TechArticle", "name": "IAccessible2", "url": "https://wiki.linuxfoundation.org/accessibility/iaccessible2/", "publisher": { "name": "Linux Foundation" } }, { "id": "https://www.w3.org/TR/WCAG21/", "type": "TechArticle", "name": "Web Content Accessibility Guidelines (WCAG) 2.1", "url": "https://www.w3.org/TR/WCAG21/", "creator": [ { "name": "Andrew Kirkpatrick" }, { "name": "Joshue O'Connor" }, { "name": "Alastair Campbell" }, { "name": "Michael Cooper" } ], "publisher": { "name": "W3C" } }, { "id": "https://www.w3.org/TR/html-aria/", "type": "TechArticle", "name": "ARIA in HTML", "url": "https://www.w3.org/TR/html-aria/", "creator": [ { "name": "Steve Faulkner" }, { "name": "Scott O'Hara" }, { "name": "Patrick Lauke" } ], "publisher": { "name": "W3C" } } ] }</script> <style> .hljs{display:block;overflow-x:auto;padding:.5em;color:#383a42;background:#fafafa} .hljs-comment,.hljs-quote{color:#717277;font-style:italic} .hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4} .hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#ca4706;font-weight:700} .hljs-literal{color:#0b76c5} .hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string{color:#42803c} .hljs-built_in,.hljs-class .hljs-title{color:#9a6a01} .hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801} .hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#336ae3} .hljs-emphasis{font-style:italic} .hljs-strong{font-weight:700} .hljs-link{text-decoration:underline} </style> <style> var{position:relative;cursor:pointer} var[data-type]::after,var[data-type]::before{position:absolute;left:50%;top:-6px;opacity:0;transition:opacity .4s;pointer-events:none} var[data-type]::before{content:"";transform:translateX(-50%);border-width:4px 6px 0 6px;border-style:solid;border-color:transparent;border-top-color:#000} var[data-type]::after{content:attr(data-type);transform:translateX(-50%) translateY(-100%);background:#000;text-align:center;font-family:"Dank Mono","Fira Code",monospace;font-style:normal;padding:6px;border-radius:3px;color:#daca88;text-indent:0;font-weight:400} var[data-type]:hover::after,var[data-type]:hover::before{opacity:1} </style> <script id="initialUserConfig" type="application/json">{ "github": { "repoURL": "w3c/aria", "branch": "2022-12_PR" }, "doJsonLd": true, "lint": { "no-unused-dfns": false }, "specStatus": "REC", "previousMaturity": "PR", "prEnd": "2023-05-28", "errata": "https://www.w3.org/WAI/ARIA/1.2/errata/aria.html", "publishDate": "2023-06-06", "implementationReportURI": "https://w3c.github.io/test-results/core-aam-1.2/", "shortName": "wai-aria-1.2", "copyrightStart": "2013", "previousPublishDate": "2023-03-28", "prevRecURI": "https://www.w3.org/TR/wai-aria-1.1/", "edDraftURI": "https://w3c.github.io/aria/", "editors": [ { "name": "Joanmarie Diggs", "company": "Igalia, S.L.", "companyURL": "https://www.igalia.com", "w3cid": 68182 }, { "name": "James Nurthen", "company": "Adobe", "companyURL": "https://www.adobe.com/", "w3cid": 37155 }, { "name": "Michael Cooper", "company": "W3C", "companyURL": "http://www.w3.org", "w3cid": 34017 }, { "name": "Carolyn MacLeod", "company": "IBM", "companyURL": "http://www.ibm.com", "w3cid": 108103 } ], "formerEditors": [ { "name": "Shane McCarron", "company": "Spec-Ops", "w3cid": 89030, "note": "Editor until 2018" }, { "name": "Richard Schwerdtfeger", "company": "Knowbility", "companyURL": "https://www.knowbility.org/", "w3cid": 2460, "note": "Editor until October 2017" }, { "name": "James Craig", "company": "Apple Inc.", "companyURL": "https://www.apple.com/accessibility", "w3cid": 42459, "note": "Editor until May 2016" } ], "group": "aria", "maxTocLevel": 4, "ariaSpecURLs": { "ED": "", "WD": "", "CR": "", "CRD": "", "PR": "", "REC": "" }, "accNameURLs": { "ED": "https://w3c.github.io/accname/", "WD": "https://www.w3.org/TR/accname-1.2/", "FPWD": "https://www.w3.org/TR/accname-1.2/", "CR": "https://www.w3.org/TR/accname-1.2/", "CRD": "https://www.w3.org/TR/accname-1.2/", "PR": "https://www.w3.org/TR/accname-1.2/", "REC": "https://www.w3.org/TR/accname-1.2/" }, "coreMappingURLs": { "ED": "https://w3c.github.io/core-aam/", "WD": "https://www.w3.org/TR/core-aam-1.2/", "FPWD": "https://www.w3.org/TR/core-aam-1.2/", "CR": "https://www.w3.org/TR/core-aam-1.2/", "CRD": "https://www.w3.org/TR/core-aam-1.2/", "PR": "https://www.w3.org/TR/core-aam-1.2/", "REC": "https://www.w3.org/TR/core-aam-1.2/" }, "practicesURLs": { "ED": "https://www.w3.org/WAI/ARIA/apg/", "WD": "https://www.w3.org/WAI/ARIA/apg/", "FPWD": "https://www.w3.org/WAI/ARIA/apg/", "CR": "https://www.w3.org/WAI/ARIA/apg/", "CRD": "https://www.w3.org/WAI/ARIA/apg/", "PR": "https://www.w3.org/WAI/ARIA/apg/", "REC": "https://www.w3.org/WAI/ARIA/apg/" }, "preProcess": [ null ], "postProcess": [ null ], "xref": [ "core-aam", "accname", "wai-aria" ], "definitionMap": [], "localBiblio": { "ACCNAME-AAM": { "aliasOf": "ACCNAME-AAM-1.1" }, "ARIA-PRACTICES": { "aliasOf": "WAI-ARIA-PRACTICES-1.2" }, "CORE-AAM": { "aliasOf": "CORE-AAM-1.1" }, "DPUB-ARIA": { "aliasOf": "DPUB-ARIA-1.0" }, "GRAPHICS-ARIA": { "aliasOf": "GRAPHICS-ARIA-1.0" }, "GRAPHICS-AAM": { "aliasOf": "GRAPHICS-AAM-1.0" }, "EPUB-Content": { "href": "http://www.idpf.org/epub/31/spec/epub-contentdocs.html", "title": "EPUB Content Documents 3.1", "publisher": "IDPF" }, "HTML-AAM": { "aliasOf": "HTML-AAM-1.0" }, "MathML-Core": { "href": "https://mathml-refresh.github.io/mathml-core/", "title": "MathML Core", "authors": [ "David Carlisle", "Frédéric Wang" ] }, "SVG-AAM": { "aliasOf": "SVG-AAM-1.0" }, "SVG1": { "aliasOf": "SVG" }, "WAI-ARIA": { "aliasOf": "WAI-ARIA-1.1" } }, "publishISODate": "2023-06-06T00:00:00.000Z", "generatedSubtitle": "W3C Recommendation 06 June 2023" }</script> <link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/2021/W3C-REC"></head> <body class="h-entry" data-cite="WEBIDL core-aam accname wai-aria"><div class="head"> <p class="logos"><a class="logo" href="https://www.w3.org/"><img crossorigin="" alt="W3C" height="48" src="https://www.w3.org/StyleSheets/TR/2021/logos/W3C" width="72"> </a></p> <h1 id="title" class="title">Accessible Rich Internet Applications (WAI-ARIA) 1.2</h1> <p id="w3c-state"><a href="https://www.w3.org/standards/types#REC">W3C Recommendation</a> <time class="dt-published" datetime="2023-06-06">06 June 2023</time></p> <details open=""> <summary>More details about this document</summary> <dl> <dt>This version:</dt><dd> <a class="u-url" href="https://www.w3.org/TR/2023/REC-wai-aria-1.2-20230606/">https://www.w3.org/TR/2023/REC-wai-aria-1.2-20230606/</a> </dd> <dt>Latest published version:</dt><dd> <a href="https://www.w3.org/TR/wai-aria-1.2/">https://www.w3.org/TR/wai-aria-1.2/</a> </dd> <dt>Latest editor's draft:</dt><dd><a href="https://w3c.github.io/aria/">https://w3c.github.io/aria/</a></dd> <dt>History:</dt><dd> <a href="https://www.w3.org/standards/history/wai-aria-1.2">https://www.w3.org/standards/history/wai-aria-1.2</a> </dd><dd> <a href="https://github.com/w3c/aria/commits/2022-12_PR">Commit history</a> </dd> <dt>Implementation report:</dt><dd> <a href="https://w3c.github.io/test-results/core-aam-1.2/">https://w3c.github.io/test-results/core-aam-1.2/</a> </dd> <dt>Previous Recommendation:</dt><dd><a href="https://www.w3.org/TR/wai-aria-1.1/">https://www.w3.org/TR/wai-aria-1.1/</a></dd> <dt>Editors:</dt><dd class="editor p-author h-card vcard" data-editor-id="68182"> <span class="p-name fn">Joanmarie Diggs</span> (<a class="p-org org h-org" href="https://www.igalia.com">Igalia, S.L.</a>) </dd><dd class="editor p-author h-card vcard" data-editor-id="37155"> <span class="p-name fn">James Nurthen</span> (<a class="p-org org h-org" href="https://www.adobe.com/">Adobe</a>) </dd><dd class="editor p-author h-card vcard" data-editor-id="34017"> <span class="p-name fn">Michael Cooper</span> (<a class="p-org org h-org" href="https://www.w3.org">W3C</a>) </dd><dd class="editor p-author h-card vcard" data-editor-id="108103"> <span class="p-name fn">Carolyn MacLeod</span> (<a class="p-org org h-org" href="http://www.ibm.com">IBM</a>) </dd> <dt> Former editors: </dt><dd class="editor p-author h-card vcard" data-editor-id="89030"> <span class="p-name fn">Shane McCarron</span> (<span class="p-org org h-org">Spec-Ops</span>) (Editor until 2018) </dd><dd class="editor p-author h-card vcard" data-editor-id="2460"> <span class="p-name fn">Richard Schwerdtfeger</span> (<a class="p-org org h-org" href="https://www.knowbility.org/">Knowbility</a>) (Editor until October 2017) </dd><dd class="editor p-author h-card vcard" data-editor-id="42459"> <span class="p-name fn">James Craig</span> (<a class="p-org org h-org" href="https://www.apple.com/accessibility">Apple Inc.</a>) (Editor until May 2016) </dd> <dt>Feedback:</dt><dd> <a href="https://github.com/w3c/aria/">GitHub w3c/aria</a> (<a href="https://github.com/w3c/aria/pulls/">pull requests</a>, <a href="https://github.com/w3c/aria/issues/new/choose">new issue</a>, <a href="https://github.com/w3c/aria/issues/">open issues</a>) </dd> <dt>Errata:</dt><dd><a href="https://www.w3.org/WAI/ARIA/1.2/errata/aria.html">Errata exists</a>.</dd> </dl> </details> <p> See also <a href="https://www.w3.org/Translations/?technology=wai-aria-1.2"> <strong>translations</strong></a>. </p> <p class="copyright"> <a href="https://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2013-2023 <a href="https://www.w3.org/">World Wide Web Consortium</a>. <abbr title="World Wide Web Consortium">W3C</abbr><sup>®</sup> <a href="https://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="https://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a rel="license" href="https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document" title="W3C Software and Document Notice and License">permissive document license</a> rules apply. </p> <hr title="Separator for header"> </div> <section id="abstract" class="introductory"><h2>Abstract</h2> <p>Accessibility of web content requires semantic information about widgets, structures, and behaviors, in order to allow assistive technologies to convey appropriate information to persons with disabilities. This specification provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information to assistive technologies in document-level markup. This version adds features new since <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> 1.1 [<cite><a class="bibref" data-link-type="biblio" href="#bib-wai-aria-1.1" title="Accessible Rich Internet Applications (WAI-ARIA) 1.1">wai-aria-1.1</a></cite>] to improve interoperability with assistive technologies to form a more consistent accessibility model for [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] and [<cite><a class="bibref" data-link-type="biblio" href="#bib-svg2" title="Scalable Vector Graphics (SVG) 2">SVG2</a></cite>]. This specification complements both [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] and [<cite><a class="bibref" data-link-type="biblio" href="#bib-svg2" title="Scalable Vector Graphics (SVG) 2">SVG2</a></cite>].</p> <p>This document is part of the <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> suite described in the <a href="https://www.w3.org/WAI/intro/aria.php"><abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> Overview</a>.</p> </section> <section id="sotd" class="introductory"><h2>Status of This Document</h2><p><em>This section describes the status of this document at the time of its publication. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision of this technical report can be found in the <a href="https://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at https://www.w3.org/TR/.</em></p> <p> <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> 1.2 is a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation. The Advisory Committee (<abbr title="Advisory Committee">AC</abbr>) as well as the <abbr title="World Wide Web Consortium">W3C</abbr> Director have endorsed this specification to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation. For details about implementation experience, see the <a href="https://w3c.github.io/test-results/core-aam-1.2/"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> 1.2 Implementation Report</a>. A <a href="#changelog">history of changes to <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> 1.2</a> is available in the appendix. </p> <p> This document was published by the <a href="https://www.w3.org/groups/wg/aria">Accessible Rich Internet Applications Working Group</a> as a Recommendation using the <a href="https://www.w3.org/2021/Process-20211102/#recs-and-notes">Recommendation track</a>. </p><p> <abbr title="World Wide Web Consortium">W3C</abbr> recommends the wide deployment of this specification as a standard for the Web. </p><p> A <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation is a specification that, after extensive consensus-building, is endorsed by <abbr title="World Wide Web Consortium">W3C</abbr> and its Members, and has commitments from Working Group members to <a href="https://www.w3.org/Consortium/Patent-Policy/#sec-Requirements">royalty-free licensing</a> for implementations. </p><p> This document was produced by a group operating under the <a href="https://www.w3.org/Consortium/Patent-Policy/"><abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a rel="disclosure" href="https://www.w3.org/groups/wg/aria/ipr">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="https://www.w3.org/Consortium/Patent-Policy/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="https://www.w3.org/Consortium/Patent-Policy/#sec-Disclosure">section 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. </p><p> This document is governed by the <a id="w3c_process_revision" href="https://www.w3.org/2021/Process-20211102/">2 November 2021 <abbr title="World Wide Web Consortium">W3C</abbr> Process Document</a>. </p></section><nav id="toc"><h2 class="introductory" id="table-of-contents">Table of Contents</h2><ol class="toc"><li class="tocline"><a class="tocxref" href="#abstract">Abstract</a></li><li class="tocline"><a class="tocxref" href="#sotd">Status of This Document</a></li><li class="tocline"><a class="tocxref" href="#introduction"><bdi class="secno">1. </bdi>Introduction</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#intro_ria_accessibility"><bdi class="secno">1.1 </bdi>Rich Internet Application Accessibility</a></li><li class="tocline"><a class="tocxref" href="#target-audience"><bdi class="secno">1.2 </bdi>Target Audience</a></li><li class="tocline"><a class="tocxref" href="#ua-support"><bdi class="secno">1.3 </bdi>User Agent Support</a></li><li class="tocline"><a class="tocxref" href="#co-evolution"><bdi class="secno">1.4 </bdi>Co-Evolution of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> and Host Languages</a></li><li class="tocline"><a class="tocxref" href="#authoring_practices"><bdi class="secno">1.5 </bdi>Authoring Practices</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#authoring_tools"><bdi class="secno">1.5.1 </bdi>Authoring Tools</a></li><li class="tocline"><a class="tocxref" href="#authoring_testing"><bdi class="secno">1.5.2 </bdi>Testing Practices and Tools</a></li></ol></li><li class="tocline"><a class="tocxref" href="#at_support"><bdi class="secno">1.6 </bdi>Assistive Technologies</a></li></ol></li><li class="tocline"><a class="tocxref" href="#terms"><bdi class="secno">2. </bdi>Important Terms</a></li><li class="tocline"><a class="tocxref" href="#conformance"><bdi class="secno">3. </bdi>Conformance</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#ua_noninterference"><bdi class="secno">3.1 </bdi>Non-interference with the Host Language</a></li><li class="tocline"><a class="tocxref" href="#ua_dom"><bdi class="secno">3.2 </bdi>All <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> in <abbr title="Document Object Model">DOM</abbr></a></li><li class="tocline"><a class="tocxref" href="#ua_domchanges"><bdi class="secno">3.3 </bdi>Assistive Technology Notifications Communicated to Web Applications</a></li><li class="tocline"><a class="tocxref" href="#conformance_checkers"><bdi class="secno">3.4 </bdi>Conformance Checkers</a></li><li class="tocline"><a class="tocxref" href="#deprecated"><bdi class="secno">3.5 </bdi>Deprecated Requirements</a></li></ol></li><li class="tocline"><a class="tocxref" href="#usage"><bdi class="secno">4. </bdi>Using <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr></a><ol class="toc"><li class="tocline"><a class="tocxref" href="#introroles"><bdi class="secno">4.1 </bdi><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Roles</a></li><li class="tocline"><a class="tocxref" href="#introstates"><bdi class="secno">4.2 </bdi><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> States and Properties</a></li><li class="tocline"><a class="tocxref" href="#managingfocus"><bdi class="secno">4.3 </bdi>Managing Focus and Supporting Keyboard Navigation</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#managingfocus_authors"><bdi class="secno">4.3.1 </bdi>Information for Authors</a></li><li class="tocline"><a class="tocxref" href="#managingfocus_useragents"><bdi class="secno">4.3.2 </bdi>Information for User Agents</a></li></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#roles"><bdi class="secno">5. </bdi>The Roles Model</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#relationshipsconcepts"><bdi class="secno">5.1 </bdi>Relationships Between Concepts</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#superclassrole"><bdi class="secno">5.1.1 </bdi>Superclass Role</a></li><li class="tocline"><a class="tocxref" href="#subclassroles"><bdi class="secno">5.1.2 </bdi>Subclass Roles</a></li><li class="tocline"><a class="tocxref" href="#relatedConcept"><bdi class="secno">5.1.3 </bdi>Related Concepts</a></li><li class="tocline"><a class="tocxref" href="#baseConcept"><bdi class="secno">5.1.4 </bdi>Base Concept</a></li></ol></li><li class="tocline"><a class="tocxref" href="#Properties"><bdi class="secno">5.2 </bdi>Characteristics of Roles</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#isAbstract"><bdi class="secno">5.2.1 </bdi>Abstract Roles</a></li><li class="tocline"><a class="tocxref" href="#requiredState"><bdi class="secno">5.2.2 </bdi>Required States and Properties</a></li><li class="tocline"><a class="tocxref" href="#supportedState"><bdi class="secno">5.2.3 </bdi>Supported States and Properties</a></li><li class="tocline"><a class="tocxref" href="#inheritedattributes"><bdi class="secno">5.2.4 </bdi>Inherited States and Properties</a></li><li class="tocline"><a class="tocxref" href="#prohibitedattributes"><bdi class="secno">5.2.5 </bdi>Prohibited States and Properties</a></li><li class="tocline"><a class="tocxref" href="#mustContain"><bdi class="secno">5.2.6 </bdi>Required Owned Elements</a></li><li class="tocline"><a class="tocxref" href="#scope"><bdi class="secno">5.2.7 </bdi>Required Context Role</a></li><li class="tocline"><a class="tocxref" href="#namecalculation"><bdi class="secno">5.2.8 </bdi>Accessible Name Calculation</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#namecomputation"><bdi class="secno">5.2.8.1 </bdi>Name Computation</a></li><li class="tocline"><a class="tocxref" href="#descriptioncomputation"><bdi class="secno">5.2.8.2 </bdi>Description Computation</a></li><li class="tocline"><a class="tocxref" href="#textalternativecomputation"><bdi class="secno">5.2.8.3 </bdi>Accessible Name and Description Computation</a></li><li class="tocline"><a class="tocxref" href="#namefromauthor"><bdi class="secno">5.2.8.4 </bdi>Roles Supporting Name from Author</a></li><li class="tocline"><a class="tocxref" href="#namefromcontent"><bdi class="secno">5.2.8.5 </bdi>Roles Supporting Name from Content</a></li><li class="tocline"><a class="tocxref" href="#namefromprohibited"><bdi class="secno">5.2.8.6 </bdi>Roles which cannot be named (Name prohibited)</a></li></ol></li><li class="tocline"><a class="tocxref" href="#childrenArePresentational"><bdi class="secno">5.2.9 </bdi>Presentational Children</a></li><li class="tocline"><a class="tocxref" href="#implictValueForRole"><bdi class="secno">5.2.10 </bdi>Implicit Value for Role</a></li></ol></li><li class="tocline"><a class="tocxref" href="#roles_categorization"><bdi class="secno">5.3 </bdi>Categorization of Roles</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#abstract_roles"><bdi class="secno">5.3.1 </bdi>Abstract Roles</a></li><li class="tocline"><a class="tocxref" href="#widget_roles"><bdi class="secno">5.3.2 </bdi>Widget Roles</a></li><li class="tocline"><a class="tocxref" href="#document_structure_roles"><bdi class="secno">5.3.3 </bdi>Document Structure Roles</a></li><li class="tocline"><a class="tocxref" href="#landmark_roles"><bdi class="secno">5.3.4 </bdi>Landmark Roles</a></li><li class="tocline"><a class="tocxref" href="#live_region_roles"><bdi class="secno">5.3.5 </bdi>Live Region Roles</a></li><li class="tocline"><a class="tocxref" href="#window_roles"><bdi class="secno">5.3.6 </bdi>Window Roles</a></li></ol></li><li class="tocline"><a class="tocxref" href="#role_definitions"><bdi class="secno">5.4 </bdi>Definition of Roles</a></li></ol></li><li class="tocline"><a class="tocxref" href="#states_and_properties"><bdi class="secno">6. </bdi>Supported States and Properties</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#statevsprop"><bdi class="secno">6.1 </bdi>Clarification of States versus Properties</a></li><li class="tocline"><a class="tocxref" href="#state_prop_att"><bdi class="secno">6.2 </bdi>Characteristics of States and Properties</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#propcharacteristic_relatedconcept"><bdi class="secno">6.2.1 </bdi>Related Concepts</a></li><li class="tocline"><a class="tocxref" href="#propcharacteristic_usedinrole"><bdi class="secno">6.2.2 </bdi>Used in Roles</a></li><li class="tocline"><a class="tocxref" href="#propcharacteristic_inheritsintoroles"><bdi class="secno">6.2.3 </bdi>Inherits into Roles</a></li><li class="tocline"><a class="tocxref" href="#propcharacteristic_value"><bdi class="secno">6.2.4 </bdi>Value</a></li></ol></li><li class="tocline"><a class="tocxref" href="#aria-attributes"><bdi class="secno">6.3 </bdi>ARIA Attributes</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#enumerated-attribute-values"><bdi class="secno">6.3.1 </bdi>Multi-value Attribute Values</a></li><li class="tocline"><a class="tocxref" href="#idl-reflection-attribute-values"><bdi class="secno">6.3.2 </bdi>IDL reflection of ARIA attributes</a></li><li class="tocline"><a class="tocxref" href="#os-aapi-attribute-mapping"><bdi class="secno">6.3.3 </bdi>Operating System Accessibility <abbr title="application programming interface">API</abbr> mapping of multi-value ARIA attributes</a></li><li class="tocline"><a class="tocxref" href="#enumerated-attribute-values-html"><bdi class="secno">6.3.4 </bdi>ARIA nullable DOMString Attributes</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#enumeration-example"><bdi class="secno">6.3.4.1 </bdi>Example Attribute Usage</a></li></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#translatable-states-and-properties"><bdi class="secno">6.4 </bdi>Translatable States and Properties</a></li><li class="tocline"><a class="tocxref" href="#global_states"><bdi class="secno">6.5 </bdi>Global States and Properties</a></li><li class="tocline"><a class="tocxref" href="#state_prop_taxonomy"><bdi class="secno">6.6 </bdi>Taxonomy of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> States and Properties</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#attrs_widgets"><bdi class="secno">6.6.1 </bdi>Widget Attributes</a></li><li class="tocline"><a class="tocxref" href="#attrs_liveregions"><bdi class="secno">6.6.2 </bdi>Live Region Attributes</a></li><li class="tocline"><a class="tocxref" href="#attrs_dragdrop"><bdi class="secno">6.6.3 </bdi>Drag-and-Drop Attributes</a></li><li class="tocline"><a class="tocxref" href="#attrs_relationships"><bdi class="secno">6.6.4 </bdi>Relationship Attributes</a></li></ol></li><li class="tocline"><a class="tocxref" href="#state_prop_def"><bdi class="secno">6.7 </bdi>Definitions of States and Properties (all aria-* attributes)</a></li></ol></li><li class="tocline"><a class="tocxref" href="#accessibility_tree"><bdi class="secno">7. </bdi>Accessibility Tree</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#tree_exclusion"><bdi class="secno">7.1 </bdi>Excluding Elements from the Accessibility Tree</a></li><li class="tocline"><a class="tocxref" href="#tree_inclusion"><bdi class="secno">7.2 </bdi>Including Elements in the Accessibility Tree</a></li></ol></li><li class="tocline"><a class="tocxref" href="#host_languages"><bdi class="secno">8. </bdi>Implementation in Host Languages</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#host_general_role"><bdi class="secno">8.1 </bdi>Role Attribute</a></li><li class="tocline"><a class="tocxref" href="#host_general_attrs"><bdi class="secno">8.2 </bdi>State and Property Attributes</a></li><li class="tocline"><a class="tocxref" href="#host_general_focus"><bdi class="secno">8.3 </bdi>Focus Navigation</a></li><li class="tocline"><a class="tocxref" href="#implicit_semantics"><bdi class="secno">8.4 </bdi>Implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Semantics</a></li><li class="tocline"><a class="tocxref" href="#host_general_conflict"><bdi class="secno">8.5 </bdi>Conflicts with Host Language Semantics</a></li><li class="tocline"><a class="tocxref" href="#state_property_processing"><bdi class="secno">8.6 </bdi>State and Property Attribute Processing</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#mapping_additional_relations_error_processing"><bdi class="secno">8.6.1 </bdi>ID Reference Error Processing</a></li></ol></li><li class="tocline"><a class="tocxref" href="#document-handling_css-selectors"><bdi class="secno">8.7 </bdi><abbr title="Cascading Style Sheets">CSS</abbr> Selectors</a></li></ol></li><li class="tocline"><a class="tocxref" href="#document-handling_author-errors"><bdi class="secno">9. </bdi>Handling Author Errors</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#document-handling_author-errors_roles"><bdi class="secno">9.1 </bdi>Roles</a></li><li class="tocline"><a class="tocxref" href="#document-handling_author-errors_states-properties"><bdi class="secno">9.2 </bdi>States and Properties</a></li></ol></li><li class="tocline"><a class="tocxref" href="#idl-interface"><bdi class="secno">10. </bdi>IDL Interface</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#ARIAMixin"><bdi class="secno">10.1 </bdi>Interface Mixin <span data-export="" data-dfn-type="interface" data-idl="interface mixin" data-title="ARIAMixin" data-dfn-for=""><code>ARIAMixin</code></span></a></li><li class="tocline"><a class="tocxref" href="#accessibilityroleandproperties-correspondence"><bdi class="secno">10.2 </bdi>ARIA Attribute Correspondence</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#idl_attr_disambiguation"><bdi class="secno">10.2.1 </bdi>Disambiguation Pattern</a></li><li class="tocline"><a class="tocxref" href="#idl_attr_exceptions"><bdi class="secno">10.2.2 </bdi>IDL Attribute Name Notes or Exceptions</a></li></ol></li><li class="tocline"><a class="tocxref" href="#idl_element"><bdi class="secno">10.3 </bdi><code>ARIAMixin</code> Mixed in to <code>Element</code></a></li><li class="tocline"><a class="tocxref" href="#idl_example_usage"><bdi class="secno">10.4 </bdi>Example IDL Attribute Usage</a></li></ol></li><li class="tocline"><a class="tocxref" href="#privacy-and-security-considerations"><bdi class="secno">11. </bdi>Privacy and Security Considerations</a></li><li class="tocline"><a class="tocxref" href="#typemapping"><bdi class="secno">A. </bdi>Mapping <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> Value types to languages</a></li><li class="tocline"><a class="tocxref" href="#changelog"><bdi class="secno">B. </bdi>Substantive changes since the <span class="formerLink"><abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> 1.1 Recommendation</span></a></li><li class="tocline"><a class="tocxref" href="#acknowledgements"><bdi class="secno">C. </bdi>Acknowledgments</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#ack_group"><bdi class="secno">C.1 </bdi>Participants active in the ARIA WG at the time of publication</a></li><li class="tocline"><a class="tocxref" href="#ack_others"><bdi class="secno">C.2 </bdi>Other ARIA contributors, commenters, and previously active participants</a></li><li class="tocline"><a class="tocxref" href="#ack_funders"><bdi class="secno">C.3 </bdi>Enabling funders</a></li></ol></li><li class="tocline"><a class="tocxref" href="#references"><bdi class="secno">D. </bdi>References</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#normative-references"><bdi class="secno">D.1 </bdi>Normative references</a></li><li class="tocline"><a class="tocxref" href="#informative-references"><bdi class="secno">D.2 </bdi>Informative references</a></li></ol></li></ol></nav> <section id="dedication" role="doc-dedication" class="notoc"><div class="header-wrapper"><h2 id="dedication-0">Dedication</h2><a class="self-link" href="#dedication" aria-label="Permalink for this Section"></a></div> <p>This version of the ARIA specification is dedicated to the memory of Carolyn MacLeod whose contributions are found throughout this document. She graced our work with equanimity and sagacity, and her untimely passing will long be missed by our community.</p> </section> <section class="informative" id="introduction"><div class="header-wrapper"><h2 id="x1-introduction"><bdi class="secno">1. </bdi>Introduction</h2><a class="self-link" href="#introduction" aria-label="Permalink for Section 1."></a></div><p><em>This section is non-normative.</em></p> <p>The goals of this specification include:</p> <ul> <li>expanding the accessibility information that may be supplied by the author;</li> <li>requiring that supporting host languages provide full keyboard support that may be implemented in a device-independent way, for example, by telephones, handheld devices, e-book readers, and televisions;</li> <li>improving the accessibility of dynamic content generated by scripts; and</li> <li>providing for interoperability with <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-1">assistive technologies</a>.</li> </ul> <p><abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> is a technical specification that provides a framework to improve the accessibility and interoperability of web content and applications. This document is primarily for developers creating custom widgets and other web application components. Please see the <a href="https://www.w3.org/WAI/intro/aria"><abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> Overview</a> for links to related documents for other audiences, such as <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-wai-aria-practices-1.2" title="WAI-ARIA Authoring Practices 1.2">WAI-ARIA-PRACTICES-1.2</a></cite>] that introduces developers to the accessibility problems that <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> is intended to solve, the fundamental concepts, and the technical approach of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr>.</p> <p>This document currently handles two aspects of <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-1">roles</a>: user interface functionality and structural <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-1">relationships</a>. For more information and use cases, see <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-wai-aria-practices-1.2" title="WAI-ARIA Authoring Practices 1.2">WAI-ARIA-PRACTICES-1.2</a></cite>] for the use of roles in making interactive content accessible.</p> <p>Roles defined by this specification are designed to support the roles used by platform <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-1">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a>. Declaration of these roles on elements within dynamic web content is intended to support interoperability between the web content and assistive technologies that utilize <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-2">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a>.</p> <p>The schema to support this standard has been designed to be extensible so that custom roles can be created by extending base roles. This allows <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-1">user agents</a> to support at least the base role, and user agents that support the custom role can provide enhanced access. Note that much of this could be formalized in [<cite><a class="bibref" data-link-type="biblio" href="#bib-xmlschema11-2" title="W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes">XMLSCHEMA11-2</a></cite>]. However, being able to define similarities between roles, such as <a href="#baseConcept">baseConcepts</a> and more descriptive definitions, would not be available in <abbr title="Extensible Markup Language Schema Datatypes">XSD</abbr>.</p> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> 1.2 is a member of the <a href="https://www.w3.org/WAI/intro/aria"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> 1.2 suite</a> that defines how to expose semantics of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> and other web content languages to <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-3">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a>. </p> <section class="section" id="intro_ria_accessibility"><div class="header-wrapper"><h3 id="x1-1-rich-internet-application-accessibility"><bdi class="secno">1.1 </bdi>Rich Internet Application Accessibility</h3><a class="self-link" href="#intro_ria_accessibility" aria-label="Permalink for Section 1.1"></a></div> <p>The domain of web accessibility defines how to make web content usable by persons with disabilities. Persons with certain types of disabilities use <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-2">assistive technologies</a> (<abbr title="Assistive Technologies">AT</abbr>) to interact with content. Assistive technologies can transform the presentation of content into a format more suitable to the user, and can allow the user to interact in different ways. For example, the user may need to, or choose to, interact with a slider widget via arrow keys, instead of dragging and dropping with a mouse. In order to accomplish this effectively, the software needs to understand the <a href="#dfn-semantics" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-semantics-1">semantics</a> of the content. Semantics is the science of meaning; in this case, used to assign roles, states, and properties that apply to user interface and content elements as a human would understand. For instance, if a paragraph is semantically identified as such, assistive technologies can interact with it as a unit separable from the rest of the content, knowing the exact boundaries of that paragraph. An adjustable range slider or collapsible list (a.k.a. a tree <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-1">widget</a>) are more complex examples, in which various parts of the widget have semantics that need to be properly identified for assistive technologies to support effective interaction.</p> <p>New technologies often overlook semantics required for accessibility, and new authoring practices often misuse the intended semantics of those technologies. <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-1">Elements</a> that have one defined meaning in the language are used with a different meaning intended to be understood by the user.</p> <p>For example, web application developers create collapsible tree widgets in <abbr title="Hypertext Markup Language">HTML</abbr> using <abbr title="Cascading Style Sheets">CSS</abbr> and JavaScript even though <abbr title="Hypertext Markup Language">HTML</abbr> has no semantic <code>tree</code> element. To a non-disabled user, it may look and act like a collapsible tree widget, but without appropriate semantics, the tree widget may not be <a href="#dfn-perceivable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-perceivable-1">perceivable</a> to, or <a href="#dfn-operable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-operable-1">operable</a> by, a person with a disability because assistive technologies may not recognize the role. Similarly, web application developers create interactive button widgets in <abbr title="Scalable Vector Graphics">SVG</abbr> using JavaScript even though <abbr title="Scalable Vector Graphics">SVG</abbr> has no semantic <code>button</code> element. To a non-disabled user, it may look and act like a button widget, but without appropriate semantics, the button widget may not be <a href="#dfn-perceivable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-perceivable-2">perceivable</a> to, or <a href="#dfn-operable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-operable-2">operable</a> by, a person with a disability because assistive technologies may not recognize the role.</p> <p>The incorporation of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is a way for an author to provide proper semantics for custom widgets to make these widgets accessible, usable, and interoperable with assistive technologies. This specification identifies the types of widgets and structures that are commonly recognized by accessibility products, by providing an <a href="#dfn-ontology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-ontology-1">ontology</a> of corresponding <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-2">roles</a> that can be attached to content. This allows elements with a given role to be understood as a particular widget or structural type regardless of any semantics inherited from the implementing host language. Roles are a common property of platform <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-4">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a> which assistive technologies use to provide the user with effective presentation and interaction.</p> <p>The Roles Model includes interaction <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-2">widgets</a> and elements denoting document structure. The Roles Model describes inheritance and details the <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-1">attributes</a> each role supports. Information about mapping of roles to accessibility <abbr title="Application Programing Interfaces">APIs</abbr> is provided by the <cite><a href="https://www.w3.org/TR/core-aam-1.2/" class="core-mapping">Core Accessibility <abbr title="application programming interface">API</abbr> Mappings</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-core-aam-1.2" title="Core Accessibility API Mappings 1.2">CORE-AAM-1.2</a></cite>].</p> <p>Roles are element types and will not change with time or user actions. Role information is used by assistive technologies, through interaction with the user agent, to provide normal processing of the specified element type.</p> <p>States and properties are used to declare important attributes of an element that affect and describe interaction. They enable the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-2">user agent</a> and operating system to properly handle the element even when the attributes are dynamically changed by client-side scripts. For example, alternative input and output technology, such as screen readers and speech dictation software, need to be able to recognize and effectively manipulate and communicate various interaction states (e.g., disabled, checked) to the user.</p> <p>While it is possible for assistive technologies to access these properties directly through the <cite><a href="https://dom.spec.whatwg.org/">Document Object Model</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-dom" title="DOM Standard">DOM</a></cite>], the preferred mechanism is for the user agent to map the states and properties to the accessibility <abbr title="Application Programing Interfaces">API</abbr> of the operating system. See the <cite><a href="https://www.w3.org/TR/core-aam-1.2/" class="core-mapping">Core Accessibility <abbr title="application programming interface">API</abbr> Mappings</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-core-aam-1.2" title="Core Accessibility API Mappings 1.2">CORE-AAM-1.2</a></cite>] and the <cite><a href="https://www.w3.org/TR/accname-1.2/" class="accname">Accessible Name and Description Computation</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-accname-1.2" title="Accessible Name and Description Computation 1.2">ACCNAME-1.2</a></cite>] for details.</p> <p id="desc_contractmodel">Figure 1.0 illustrates the relationship between user agents (e.g., browsers), accessibility <abbr title="Application Programing Interfaces">APIs</abbr>, and assistive technologies. It describes the "contract" provided by the user agent to assistive technologies, which includes typical accessibility information found in the accessibility <abbr title="Application Programing Interfaces">API</abbr> for many of our accessible platforms for GUIs (role, state, selection, <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-1">event</a> notification, <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-2">relationship</a> information, and descriptions). The <abbr title="Document Object Model">DOM</abbr>, usually <abbr title="Hypertext Markup Language">HTML</abbr>, acts as the data model and view in a typical model-view-controller relationship, and JavaScript acts as the controller by manipulating the style and content of the displayed data. The user agent conveys relevant information to the operating system's accessibility <abbr title="application programming interface">API</abbr>, which can be used by any assistive technologies, such as screen readers.</p> <div class="image"> <p><img alt="The contract model with accessibility APIs" height="389" id="contractmodel" src="img/accessibleelement.png" width="723"></p> <p class="img-caption">Figure 1: The contract model with accessibility <abbr title="Application Programing Interfaces">APIs</abbr></p> </div> <p>For more information see <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite> for the use of roles in making interactive content accessible.</p> <p>Users of alternate input devices need <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-1">keyboard accessible</a> content. The new semantics, when combined with the recommended keyboard interactions provided in <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite>, will allow alternate input solutions to facilitate command and control via an alternate input solution.</p> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> introduces navigational <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-1">landmarks</a> through its Roles Model and the <abbr title="Extensible Hypertext Markup Language">XHTML</abbr> role landmarks, which can help persons with dexterity and vision impairments by providing for improved keyboard navigation. <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> may also be used to assist persons with cognitive learning disabilities. The additional semantics allow authors to restructure and substitute alternative content as needed.</p> <p><a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-3">Assistive technologies</a> need the ability to support alternative inputs by getting and setting the current value of <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-3">widget</a> states and properties. Assistive technologies also need to determine what <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-1">objects</a> are selected and manage widgets that allow multiple selections, such as list boxes and grids.</p> <p>Speech-based command and control systems can benefit from <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics like the <code>role</code> attribute to assist in conveying audio information to the user. For example, upon encountering an element with a role of <a href="#menu" class="role-reference"><code>menu</code></a> with child elements of role <a href="#menuitem" class="role-reference"><code>menuitem</code></a> each containing text content representing a different flavor, a speech system might state to the user, "Select one of three choices: chocolate, strawberry, or vanilla."</p> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is intended to be used as a supplement for native language semantics, not a replacement. When the host language provides a feature that provides equivalent accessibility to the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> feature, use the host language feature. <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> should only be used in cases where the host language lacks the needed <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-3">role</a>, <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-1">state</a>, and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-1">property</a> indicators. Use a host language feature that is as similar as possible to the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> feature, then refine the meaning by adding <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>. For instance, a multi-selectable grid could be implemented as a table, and then <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> used to clarify that it is an interactive grid, not just a static data table. This allows for the best possible fallback for user agents that do not support <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> and preserves the integrity of the host language semantics.</p> </section> <section id="target-audience"><div class="header-wrapper"><h3 id="x1-2-target-audience"><bdi class="secno">1.2 </bdi>Target Audience</h3><a class="self-link" href="#target-audience" aria-label="Permalink for Section 1.2"></a></div> <p>This specification defines the basic model for <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>, including roles, states, properties, and values. It impacts several audiences:</p> <ul> <li><a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-3">User agents</a> that process content containing <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> features;</li> <li><a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-4">Assistive technologies</a> that present content in special ways to user with disabilities;</li> <li>Authors who create content;</li> <li>Authoring tools that help authors create conforming content; and</li> <li>Conformance checkers that verify appropriate use of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>.</li> </ul> <p>Each conformance requirement indicates the audience to which it applies.</p> <p>Although this specification is applicable to the above audiences, it is not specifically targeted to, nor is it intended to be the sole source of information for, any of these audiences. The following documents provide important supporting information:</p> <ul> <li>[<cite><a class="bibref" data-link-type="biblio" href="#bib-wai-aria-practices-1.2" title="WAI-ARIA Authoring Practices 1.2">WAI-ARIA-PRACTICES-1.2</a></cite>] addresses authoring recommendations for <abbr title="Hypertext Markup Language">HTML</abbr>, and is also of interest to developers of authoring tools and conformance checkers.</li> <li>[<cite><a class="bibref" data-link-type="biblio" href="#bib-core-aam-1.2" title="Core Accessibility API Mappings 1.2">CORE-AAM-1.2</a></cite>] addresses developers of <a class="termref informative internalDFN" href="#dfn-user-agent" data-link-type="dfn" id="ref-for-dfn-user-agent-4">user agents</a> and <a class="termref informative internalDFN" href="#dfn-assistive-technology" data-link-type="dfn" id="ref-for-dfn-assistive-technology-5">assistive technologies</a>.</li> <li>[<cite><a class="bibref" data-link-type="biblio" href="#bib-accname-1.2" title="Accessible Name and Description Computation 1.2">ACCNAME-1.2</a></cite>] also addresses developers of <a class="termref informative internalDFN" href="#dfn-user-agent" data-link-type="dfn" id="ref-for-dfn-user-agent-5">user agents</a> and <a class="termref informative internalDFN" href="#dfn-assistive-technology" data-link-type="dfn" id="ref-for-dfn-assistive-technology-6">assistive technologies</a>.</li> </ul> </section> <section id="ua-support"><div class="header-wrapper"><h3 id="x1-3-user-agent-support"><bdi class="secno">1.3 </bdi>User Agent Support</h3><a class="self-link" href="#ua-support" aria-label="Permalink for Section 1.3"></a></div> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> relies on user agent support for its features in two ways:</p> <ul> <li>Mainstream <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-6">user agents</a> use <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> to alter how host language features are exposed to <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-5">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a> in order to improve accessibility. The mechanism for this is defined in the <cite><a href="https://www.w3.org/TR/core-aam-1.2/" class="core-mapping">Core Accessibility <abbr title="application programming interface">API</abbr> Mappings</a></cite>.</li> <li><a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-7">Assistive technologies</a> use the enhanced information available in an accessibility <abbr title="application programming interface">API</abbr>, or uses the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> markup directly via the <abbr title="Document Object Model">DOM</abbr>, to convey semantic and interaction information to the user.</li> </ul> <p>Aside from using <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> markup to improve what is exposed to accessibility <abbr title="Application Programing Interfaces">APIs</abbr>, user agents behave as they would natively. Assistive technologies react to the extra information in the accessibility <abbr title="application programming interface">API</abbr> as they already do for the same information on non-web content. User agents that are not assistive technologies, however, need do nothing beyond providing appropriate updates to the accessibility <abbr title="application programming interface">API</abbr>.</p> <p>The <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> specification neither requires nor forbids user agents from enhancing native presentation and interaction behaviors on the basis of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> markup. Mainstream user agents might expose <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> navigational landmarks (for example, as a dialog box or through a keyboard command) with the intention to facilitate navigation for all users. User agents are encouraged to maximize their usefulness to users, including users without disabilities. </p> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is intended to provide missing semantics so that the intent of the author may be conveyed to assistive technologies. Generally, authors using <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> will provide the appropriate presentation and interaction features. Over time, host languages may add <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> equivalents, such as new form controls, that are implemented as standard accessible user interface controls by the user agent. This allows authors to use them instead of custom <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> enabled user interface components. In this case the user agent would support the native host language feature. Developers of host languages that implement <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> are advised to continue supporting <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics when they do not adversely conflict with implicit host language semantics, as <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics more clearly reflect the intent of the author if the host language features are inadequate to meet the author's needs.</p> </section> <section id="co-evolution"><div class="header-wrapper"><h3 id="x1-4-co-evolution-of-wai-aria-and-host-languages"><bdi class="secno">1.4 </bdi>Co-Evolution of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> and Host Languages</h3><a class="self-link" href="#co-evolution" aria-label="Permalink for Section 1.4"></a></div> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is intended to augment semantics in supporting languages like [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] and [<cite><a class="bibref" data-link-type="biblio" href="#bib-svg2" title="Scalable Vector Graphics (SVG) 2">SVG2</a></cite>], or to be used as an accessibility enhancement technology in other markup-based languages that do not explicitly include support for ARIA. It clarifies semantics to assistive technologies when authors create new types of objects, via style and script, that are not yet directly supported by the language of the page, because the invention of new types of objects is faster than standardized support for them appears in web languages.</p> <p>It is not appropriate to create objects with style and script when the host language provides a semantic element for that type of object. While <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> can improve the accessibility of these objects, accessibility is best provided by allowing the user agent to handle the object natively. For example, it's better to use an <code>h1</code> element in <abbr title="Hypertext Markup Language">HTML</abbr> than to use the <a href="#heading" class="role-reference"><code>heading</code></a> role on a <code>div</code> element.</p> <p>It is expected that, over time, host languages will evolve to provide semantics for objects that currently can only be declared with <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>. This is natural and desirable, as one goal of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is to help stimulate the emergence of more semantic and accessible markup. When native semantics for a given feature become available, it is appropriate for authors to use the native feature and stop using <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> for that feature. Legacy content may continue to use <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>, however, so the need for user agents to support <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> remains.</p> <p>While specific features of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> may lose importance over time, the general possibility of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> to add semantics to web pages is expected to be a persistent need. Host languages may not implement all the semantics <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> provides, and various host languages may implement different subsets of the features. New types of objects are continually being developed, and one goal of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is to provide a way to make such objects accessible, because web authoring practices often advance faster than host language standards. In this way, <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> and host languages both evolve together but at different rates.</p> <p>Some host languages exist to create semantics for features other than the user interface. For example, <abbr title="Scalable Vector Graphics">SVG</abbr> expresses the semantics behind production of graphical objects, not of user interface components that those objects may represent. Host languages might, by design, not provide native semantics that map to <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> features. In these cases, <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> could be adopted as a long-term approach to add semantic information to user interface components.</p> </section> <section id="authoring_practices"><div class="header-wrapper"><h3 id="x1-5-authoring-practices"><bdi class="secno">1.5 </bdi>Authoring Practices</h3><a class="self-link" href="#authoring_practices" aria-label="Permalink for Section 1.5"></a></div> <section id="authoring_tools"><div class="header-wrapper"><h4 id="x1-5-1-authoring-tools"><bdi class="secno">1.5.1 </bdi>Authoring Tools</h4><a class="self-link" href="#authoring_tools" aria-label="Permalink for Section 1.5.1"></a></div> <p>Many of the requirements in the definitions of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-4">roles</a>, <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-2">states</a>, and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-2">properties</a> can be checked automatically during the development process, similar to other quality control processes used for validating code. To assist authors who are creating custom widgets, authoring tools may compare widget roles, states, and properties to those supported in <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> as well as those supported in related and cross-referenced roles, states, and properties. Authoring tools may notify authors of errors in widget design patterns, and may also prompt developers for information that cannot be determined from context alone. For example, a scripting library can determine the labels for the tree items in a tree view, but would need to prompt the author to label the entire tree. To help authors visualize a logical accessibility structure, an authoring environment might provide an outline view of a web resource based on the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> markup.</p> <p>In both <abbr title="Hypertext Markup Language">HTML</abbr> and <abbr title="Scalable Vector Graphics">SVG</abbr>, <code>tabindex</code> is an important way browsers support keyboard <a href="#host_general_focus">focus navigation</a> for implementations of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>; authoring and debugging tools may check to make sure <code>tabindex</code> values are properly set. For example, error conditions may include cases where more than one treeitem in a tree has a <code>tabindex</code> value greater than or equal to 0, where <code>tabindex</code> is not set on any treeitem, or where <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> is not defined when the element with the role tree has a <code>tabindex</code> value of greater than or equal to 0.</p> </section> <section id="authoring_testing"><div class="header-wrapper"><h4 id="x1-5-2-testing-practices-and-tools"><bdi class="secno">1.5.2 </bdi>Testing Practices and Tools</h4><a class="self-link" href="#authoring_testing" aria-label="Permalink for Section 1.5.2"></a></div> <p>The accessibility of interactive content cannot be confirmed by static checks alone. Developers of interactive content should test for device-independent access to <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-4">widgets</a> and applications, and should verify accessibility <abbr title="application programing interface">API</abbr> access to all content and changes during user interaction.</p> </section> </section> <section id="at_support"><div class="header-wrapper"><h3 id="x1-6-assistive-technologies"><bdi class="secno">1.6 </bdi>Assistive Technologies</h3><a class="self-link" href="#at_support" aria-label="Permalink for Section 1.6"></a></div> <p>Programmatic access to accessibility semantics is essential for assistive technologies. Most assistive technologies interact with user agents, like other applications, through a recognized accessibility <abbr title="application programming interface">API</abbr>. Perceivable objects in the user interface are exposed to assistive technologies as accessible objects, defined by the accessibility <abbr title="application programming interface">API</abbr> interfaces. To do this properly, accessibility information – role, states, properties as well as contextual information – needs to be accurately conveyed to the assistive technologies through the accessibility <abbr title="application programming interface">API</abbr>. When a state change occurs, the user agent provides the appropriate event notification to the accessibility <abbr title="application programming interface">API</abbr>. Contextual information, in many host languages like <abbr title="Hypertext Markup Language">HTML</abbr>, can be determined from the <abbr title="Document Object Model">DOM</abbr> itself as it provides a contextual tree hierarchy.</p> <p>While some assistive technologies interact with these accessibility <abbr title="Application Programing Interfaces">APIs</abbr>, others may access the content directly from the <abbr title="Document Object Model">DOM</abbr>. These technologies can restructure, simplify, style, or reflow the content to help a different set of users. Common use cases for these types of adaptations may be the aging population, persons with cognitive impairments, or persons in environments that interfere with use of their tools. For example, the availability of regional navigational landmarks may allow for a mobile device adaptation that shows only portions of the content at any one time based on its semantics. This could reduce the amount of information the user needs to process at any one time. In other situations it may be appropriate to replace a custom user interface control with something that is easier to navigate with a keyboard, or touch screen device.</p> </section> </section> <section class="informative" id="terms"><div class="header-wrapper"><h2 id="x2-important-terms"><bdi class="secno">2. </bdi>Important Terms</h2><a class="self-link" href="#terms" aria-label="Permalink for Section 2."></a></div><p><em>This section is non-normative.</em></p> <div data-oninclude="restrictReferences"><p>While some terms are defined in place, the following definitions are used throughout this document. </p> <dl class="termlist"> <dt><dfn data-lt="accessibility api|accessibility apis|Accessibility API" id="dfn-accessibility-api" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Accessibility <abbr title="Application Programming Interface">API</abbr></dfn></dt> <dd> <p>Operating systems and other platforms provide a set of interfaces that expose information about <a class="termref internalDFN" data-lt="object" href="#dfn-object" data-link-type="dfn" id="ref-for-dfn-object-2">objects</a> and <a class="termref internalDFN" data-lt="event" href="#dfn-event" data-link-type="dfn" id="ref-for-dfn-event-2">events</a> to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-8">assistive technologies</a>. Assistive technologies use these interfaces to get information about and interact with those <a class="termref internalDFN" data-lt="widget" href="#dfn-widget" data-link-type="dfn" id="ref-for-dfn-widget-5">widgets</a>. Examples of accessibility <abbr title="Application Programing Interfaces">APIs</abbr> are <a href="https://docs.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility">Microsoft Active Accessibility</a> [<cite><a class="bibref" data-link-type="biblio" href="#bib-msaa" title="Microsoft Active Accessibility (MSAA)">MSAA</a></cite>], <a href="https://docs.microsoft.com/en-us/windows/win32/winauto/entry-uiauto-win32">Microsoft User Interface Automation</a> [<cite><a class="bibref" data-link-type="biblio" href="#bib-ui-automation" title="UI Automation">UI-AUTOMATION</a></cite>], <abbr title="Microsoft Active Accessibility">MSAA</abbr> with <cite><a href="https://docs.microsoft.com/en-us/windows/win32/winauto/iaccessibleex"><abbr title="User Interface Automation">UIA</abbr> Express</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-uia-express" title="The IAccessibleEx Interface">UIA-EXPRESS</a></cite>], the <a href="https://developer.apple.com/documentation/appkit/nsaccessibility">Mac <abbr title="OS Ten">OS X</abbr> Accessibility Protocol</a> [<cite><a class="bibref" data-link-type="biblio" href="#bib-axapi" title="The NSAccessibility Protocol for macOS">AXAPI</a></cite>], the <cite><a href="https://gnome.pages.gitlab.gnome.org/atk/">Linux/Unix Accessibility Toolkit</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-atk" title="ATK - Accessibility Toolkit">ATK</a></cite>] and <cite><a href="https://developer-old.gnome.org/libatspi/stable/">Assistive Technology Service Provider Interface</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-at-spi" title="Assistive Technology Service Provider Interface">AT-SPI</a></cite>], and <a href="https://wiki.linuxfoundation.org/accessibility/iaccessible2/start">IAccessible2</a> [<cite><a class="bibref" data-link-type="biblio" href="#bib-iaccessible2" title="IAccessible2">IAccessible2</a></cite>].</p> </dd> <dt><dfn id="dfn-accessibility-subtree" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Accessibility Subtree</dfn></dt> <dd> <p>An <a href="#dfn-accessible-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessible-object-1">accessible object</a> in the <a href="#dfn-accessibility-tree" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-1">accessibility tree</a> and its descendants in that tree. It does not include objects which have relationships other than parent-child in that tree. For example, it does not include objects linked via <a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a> unless those objects are also descendants in the <a href="#dfn-accessibility-tree" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-2">accessibility tree</a>.</p> </dd> <dt><dfn id="dfn-accessibility-tree" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Accessibility Tree</dfn></dt> <dd> <p>Tree of <a class="termref internalDFN" data-lt="accessible object" href="#dfn-accessible-object" data-link-type="dfn" id="ref-for-dfn-accessible-object-2">accessible objects</a> that represents the structure of the user interface (<abbr title="User Interface">UI</abbr>). Each node in the accessibility tree represents an element in the <abbr title="user interface">UI</abbr> as exposed through the <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-6">accessibility <abbr title="Application Programming Interface">API</abbr></a>; for example, a push button, a check box, or container.</p> </dd> <dt><dfn id="dfn-accessible-description" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Accessible Description</dfn></dt> <dd> <p>An accessible description provides additional information, related to an interface element, that complements the <a href="#dfn-accessible-name" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessible-name-1">accessible name</a>. The accessible description might or might not be visually perceivable. </p> </dd> <dt><dfn data-lt="accessible name|accessible names|Accessible Name" id="dfn-accessible-name" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Accessible Name</dfn></dt> <dd> <p>The accessible name is the name of a user interface element. Each platform <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-7">accessibility <abbr title="application programming interface">API</abbr></a> 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 <a href="#dfn-accessible-description" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessible-description-1">accessible description</a>.</p> <p>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 <a class="termref internalDFN" data-lt="accessibility api" href="#dfn-accessibility-api" data-link-type="dfn" id="ref-for-dfn-accessibility-api-8">accessibility <abbr title="application programming interface">API</abbr></a>s or <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-9">assistive technologies</a>.</p> </dd> <dt><dfn data-lt="accessible object|accessible objects|Accessible object" id="dfn-accessible-object" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Accessible object</dfn></dt> <dd> <p>A <a href="#dfn-node" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-node-1">node</a> in the <a href="#dfn-accessibility-tree" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-3">accessibility tree</a> of a platform <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-9">accessibility <abbr title="application programming interface">API</abbr></a>. Accessible objects expose various <a class="termref internalDFN" data-lt="state" href="#dfn-state" data-link-type="dfn" id="ref-for-dfn-state-3">states</a>, <a class="termref internalDFN" data-lt="property" href="#dfn-property" data-link-type="dfn" id="ref-for-dfn-property-3">properties</a>, and <a class="termref internalDFN" data-lt="event" href="#dfn-event" data-link-type="dfn" id="ref-for-dfn-event-3">events</a> for use by <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-10">assistive technologies</a>. In the context of markup languages (e.g., <abbr title="Hypertext Markup Language">HTML</abbr> and <abbr title="Scalable Vector Graphics">SVG</abbr>) in general, and of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> in particular, markup <a class="termref internalDFN" data-lt="element" href="#dfn-element" data-link-type="dfn" id="ref-for-dfn-element-2">elements</a> and their <a class="termref internalDFN" data-lt="attribute" href="#dfn-attribute" data-link-type="dfn" id="ref-for-dfn-attribute-2">attributes</a> are represented as accessible objects. </p> </dd> <dt><dfn id="dfn-activation-behavior" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Activation behavior</dfn></dt> <dd> <p>The action taken when an <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-4">event</a>, typically initiated by users through an input device, causes an element to fulfill a defined role. The role may be defined for that element by the host language, or by author-defined variables, or both. The role for any given element may be a generic action, or may be unique to that element. For example, the activation behavior of an <abbr title="Hypertext Markup Language">HTML</abbr> or <abbr title="Scalable Vector Graphics">SVG</abbr> <code><a></code> element shall be to cause the user agent to traverse the link specified in the <code>href</code> attribute, with the further optional parameter of specifying the browsing context for the traversal (such as the current window or tab, a named window, or a new window); the activation behavior of an <abbr title="Hypertext Markup Language">HTML</abbr> <code><input></code> element with the <code>type</code> attribute value <code>submit</code> shall be to send the values of the form elements to an author-defined <abbr title="Internationalized Resource Identifiers">IRI</abbr> by the author-defined <abbr title="Hypertext Transfer Protocol">HTTP</abbr> method.</p> </dd> <dt><dfn data-lt="assistive technology|Assistive Technologies" id="dfn-assistive-technology" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Assistive Technologies</dfn></dt> <dd><p>Hardware and/or software that:</p> <ul> <li>relies on services provided by a <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-7">user agent</a> to retrieve and render Web content </li> <li>works with a user agent or web content itself through the use of <abbr title="Application Programing Interfaces">APIs</abbr>, and</li> <li>provides services beyond those offered by the user agent to facilitate user interaction with web content by people with disabilities</li> </ul> <p>This definition may differ from that used in other documents.</p> <p>Examples of assistive technologies that are important in the context of this document include the following:</p> <ul> <li>screen magnifiers, which are used to enlarge and improve the visual readability of rendered text and images;</li> <li>screen readers, which are most-often used to convey information through synthesized speech or a refreshable Braille display;</li> <li>text-to-speech software, which is used to convert text into synthetic speech;</li> <li>speech recognition software, which is used to allow spoken control and dictation;</li> <li>alternate input technologies (including head pointers, on-screen keyboards, single switches, and sip/puff devices), which are used to simulate the keyboard;</li> <li>alternate pointing devices, which are used to simulate mouse pointing and clicking.</li> </ul> </dd> <dt><dfn data-lt="attribute|attributes|Attribute" id="dfn-attribute" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Attribute</dfn></dt> <dd> <p>In this specification, attribute is used as it is in markup languages. Attributes are structural features added to <a class="termref" href="#dfn-element" id="ref-for-dfn-element-3">elements</a> to provide information about the <a class="termref" href="#dfn-state" id="ref-for-dfn-state-4">states</a> and <a class="termref" href="#dfn-property" id="ref-for-dfn-property-4">properties</a> of the <a class="termref" href="#dfn-object" id="ref-for-dfn-object-3">object</a> represented by the element.</p> </dd> <dt><dfn data-lt="class|classes|Class" id="dfn-class" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Class</dfn></dt> <dd> <p>A set of instance <a class="termref" href="#dfn-object" id="ref-for-dfn-object-4">objects</a> that share similar characteristics.</p> </dd> <dt><dfn data-lt="deprecated|deprecate|deprecation|Deprecated" id="dfn-deprecated" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Deprecated</dfn></dt> <dd> <p>A deprecated <a class="termref" href="#dfn-role" id="ref-for-dfn-role-5">role</a>, <a class="termref" href="#dfn-state" id="ref-for-dfn-state-5">state</a>, or <a class="termref" href="#dfn-property" id="ref-for-dfn-property-5">property</a> is one which has been outdated by newer constructs or changed circumstances, and which may be removed in future versions of the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> specification. <a class="termref internalDFN" data-lt="user agent" href="#dfn-user-agent" data-link-type="dfn" id="ref-for-dfn-user-agent-8">User agents</a> are encouraged to continue to support items identified as deprecated for backward compatibility. For more information, see <a href="#deprecated" class="specref">Deprecated Requirements</a> in the Conformance section.</p> </dd> <dt><dfn data-lt="desktop focus|desktop focus events|Desktop focus event" id="dfn-desktop-focus" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Desktop focus event</dfn></dt> <dd> <p>Event from/to the host operating system via the accessibility <abbr title="application programming interface">API</abbr>, notifying of a change of input focus.</p> </dd> <dt><dfn id="dfn-domstring" data-plurals="domstrings" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">DOMString</dfn> </dt><dd>Sequence of 16-bit unsigned integers, typically interpreted as UTF-16 code units. This corresponds to the JavaScript primitive String type.</dd> <dt><dfn data-lt="element|elements|element's|Element" id="dfn-element" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Element</dfn></dt> <dd> <p>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 <a class="termref internalDFN" data-lt="object" href="#dfn-object" data-link-type="dfn" id="ref-for-dfn-object-5">objects</a>.</p> </dd> <dt><dfn data-lt="event|events|Event" id="dfn-event" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Event</dfn></dt> <dd> <p>A programmatic message used to communicate discrete changes in the <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-6">state</a> of an <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-6">object</a> 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.</p> </dd> <dt><dfn id="dfn-expose" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Expose</dfn></dt> <dd> <p>Translated to platform-specific <a class="termref internalDFN" data-lt="accessibility api" href="#dfn-accessibility-api" data-link-type="dfn" id="ref-for-dfn-accessibility-api-10">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a> as defined in the <a href="" class="core-mapping">Core Accessibility <abbr title="application programming interface">API</abbr> Mappings</a>.</p> </dd> <dt><dfn data-lt="graphical document|graphical documents|Graphical Document" id="dfn-graphical-document" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Graphical Document</dfn></dt> <dd> <p>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).</p> </dd> <dt><dfn id="dfn-hidden" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Hidden</dfn></dt> <dd> <p>Indicates that the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-4">element</a> is not visible, <a href="#dfn-perceivable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-perceivable-3">perceivable</a>, or interactive to <em>any</em> user. An element is considered <em>hidden</em> if it or any one of its ancestor elements is not rendered or is explicitly hidden.</p> </dd> <dt><dfn data-lt="informative|non-normative|Informative" id="dfn-informative" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Informative</dfn></dt> <dd> <p>Content provided for information purposes and not required for conformance. Content required for conformance is referred to as <a href="#dfn-normative" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-normative-1">normative</a>.</p> </dd> <dt><dfn id="dfn-keyboard-accessible" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Keyboard Accessible</dfn></dt> <dd> <p>Accessible to the user using a keyboard or <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-11">assistive technologies</a> that mimic keyboard input, such as a sip and puff tube. References in this document relate to <cite><a href="https://www.w3.org/TR/WCAG21/#keyboard-accessible"><abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.1 Guideline 2.1: Make all functionality available from a keyboard</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-wcag21" title="Web Content Accessibility Guidelines (WCAG) 2.1">WCAG21</a></cite>].</p> </dd> <dt><dfn data-lt="landmark|landmarks|Landmark" id="dfn-landmark" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Landmark</dfn></dt> <dd> <p>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.</p> </dd> <dt><dfn data-lt="live region|live regions|Live Region" id="dfn-live-region" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Live Region</dfn></dt> <dd> <p>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. 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. <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> 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.</p> </dd> <dt><dfn id="dfn-primary-content-element" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Primary Content Element</dfn></dt> <dd> <p>An implementing host language's primary content element, such as the <code>body</code> element in <abbr title="Hypertext Markup Language">HTML</abbr>.</p> </dd> <dt><dfn data-lt="managed state|managed states|Managed State" id="dfn-managed-state" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Managed State</dfn></dt> <dd> <p><a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-11">Accessibility <abbr title="application programming interface">API</abbr></a> <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-7">state</a> 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 <abbr title="Cascading Style Sheets">CSS</abbr> pseudo-classes, such as :focus, and pseudo-elements, such as ::selection, that are also updated by the user agent.</p> </dd> <dt><dfn id="dfn-nemeth-braille" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Nemeth Braille</dfn></dt> <dd> <p>The Nemeth Braille Code for Mathematics is a braille code for encoding mathematical and scientific notation. See <cite><a href="https://en.wikipedia.org/wiki/Nemeth_Braille">Nemeth Braille on Wikipedia</a>.</cite></p> </dd> <dt><dfn id="dfn-node" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Node</dfn></dt> <dd> <p>Basic type of <a class="termref internalDFN" href="#dfn-object" data-link-type="dfn" id="ref-for-dfn-object-7">object</a> in the <abbr title="Document Object Model">DOM</abbr> tree or <a class="termref internalDFN" href="#dfn-accessibility-tree" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-4">accessibility tree</a>. <abbr title="Document Object Model">DOM</abbr> nodes are further specified as <a class="termref internalDFN" href="#dfn-element" data-link-type="dfn" id="ref-for-dfn-element-5">Element</a> or <a class="termref internalDFN" data-lt="Text node" href="#dfn-text-node" data-link-type="dfn" id="ref-for-dfn-text-node-1">Text nodes</a>, among other types. The nodes of an <a class="termref internalDFN" href="#dfn-accessibility-tree" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-5">accessibility tree</a> are <a class="termref internalDFN" data-lt="accessible object" href="#dfn-accessible-object" data-link-type="dfn" id="ref-for-dfn-accessible-object-3">accessible objects</a>. </p> </dd> <dt><dfn id="dfn-normative" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Normative</dfn></dt> <dd> <p>Required for conformance. By contrast, content identified as <a href="#dfn-informative" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-informative-1">informative</a> or "non-normative" is not required for conformance.</p> </dd> <dt><dfn data-lt="object|objects|Object" id="dfn-object" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Object</dfn></dt> <dd> <p>In the context of user interfaces, an item in the perceptual user experience, represented in markup languages by one or more <a class="termref internalDFN" data-lt="element" href="#dfn-element" data-link-type="dfn" id="ref-for-dfn-element-6">elements</a>, and rendered by <a class="termref internalDFN" data-lt="user agent" href="#dfn-user-agent" data-link-type="dfn" id="ref-for-dfn-user-agent-9">user agents</a>.</p> In the context of programming, the instantiation of one or more <a class="termref internalDFN" data-lt="class" href="#dfn-class" data-link-type="dfn" id="ref-for-dfn-class-1">classes</a> and interfaces which define the general characteristics of similar objects. An object in an <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-12">accessibility <abbr title="Application Programming Interfaces">API</abbr></a> may represent one or more <abbr title="Document Object Model">DOM</abbr> objects. <a class="termref internalDFN" data-lt="accessibility api" href="#dfn-accessibility-api" data-link-type="dfn" id="ref-for-dfn-accessibility-api-13">Accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a> have defined interfaces that are distinct from <abbr title="Document Object Model">DOM</abbr> interfaces.</dd> <dt><dfn id="dfn-ontology" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Ontology</dfn></dt> <dd> <p>A description of the characteristics of <a class="termref internalDFN" data-lt="class" href="#dfn-class" data-link-type="dfn" id="ref-for-dfn-class-2">classes</a> and how they relate to each other.</p> </dd> <dt><dfn id="dfn-operable" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Operable</dfn></dt> <dd> <p>Usable by users in ways they can control. References in this document relate to <cite><a href="https://www.w3.org/TR/WCAG21/#operable"><abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.1 Principle 2: Content must be operable</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-wcag21" title="Web Content Accessibility Guidelines (WCAG) 2.1">WCAG21</a></cite>]. See <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-2">Keyboard Accessible</a>.</p> </dd> <dt><dfn data-lt="owned element|owned|owned element's|owned elements|Owned Element" id="dfn-owned-element" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Owned Element</dfn></dt> <dd> <p>An 'owned element' is any <abbr title="Document Object Model">DOM</abbr> descendant of the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-7">element</a>, any element specified as a child via <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a>, or any <abbr title="Document Object Model">DOM</abbr> descendant of the owned child.</p> </dd> <dt><dfn data-lt="owning element|owning|Owning Element" id="dfn-owning-element" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Owning Element</dfn></dt> <dd> <p>An 'owning element' is any <abbr title="Document Object Model">DOM</abbr> ancestor of the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-8">element</a>, or any element with an <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> attribute which references the ID of the element. </p> </dd> <dt><dfn id="dfn-perceivable" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Perceivable</dfn></dt> <dd> <p>Presentable to users in ways they can sense. References in this document relate to <cite><a href="https://www.w3.org/TR/WCAG21/#perceivable"><abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.1 Principle 1: Content must be perceivable</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-wcag21" title="Web Content Accessibility Guidelines (WCAG) 2.1">WCAG21</a></cite>].</p> </dd> <dt><dfn data-lt="property|properties|Property" id="dfn-property" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Property</dfn></dt> <dd> <p><a class="termref internalDFN" data-lt="attribute" href="#dfn-attribute" data-link-type="dfn" id="ref-for-dfn-attribute-3">Attributes</a> that are essential to the nature of a given <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-8">object</a>, 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, <a href="#aria-multiline" class="property-reference"><code>aria-multiline</code></a>) are less likely to change than <a class="termref" href="#dfn-state" id="ref-for-dfn-state-8">states</a>, but note that the frequency of change difference is not a rule. A few properties, such as <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a>, <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a>, and <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> are expected to change often. See <a class="specref" href="#statevsprop">clarification of states versus properties</a>.</p> </dd> <dt><dfn data-lt="relationship|relationships|Relationship" id="dfn-relationship" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Relationship</dfn></dt> <dd> <p>A connection between two distinct things. Relationships may be of various types to indicate which <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-9">object</a> labels another, controls another, etc.</p> </dd> <dt><dfn data-lt="role|roles|Role" id="dfn-role" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Role</dfn></dt> <dd> <p>Main indicator of type. This <a class="termref internalDFN" data-lt="semantics" href="#dfn-semantics" data-link-type="dfn" id="ref-for-dfn-semantics-2">semantic</a> 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.</p> </dd> <dt><dfn id="dfn-root-wai-aria-node" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Root <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> node</dfn></dt> <dd> <p> The primary element containing non-metadata content. In many languages, this is the document element but in <abbr title="Hypertext Markup Language">HTML</abbr>, it is the <code><body></code>.</p> </dd> <dt><dfn data-lt="semantics|semantic|semantically|Semantics" id="dfn-semantics" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Semantics</dfn></dt> <dd> <p>The meaning of something as understood by a human, defined in a way that computers can process a representation of an <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-10">object</a>, such as <a class="termref internalDFN" data-lt="element" href="#dfn-element" data-link-type="dfn" id="ref-for-dfn-element-9">elements</a> and <a class="termref internalDFN" data-lt="attribute" href="#dfn-attribute" data-link-type="dfn" id="ref-for-dfn-attribute-4">attributes</a>, and reliably represent the object in a way that various humans will achieve a mutually consistent understanding of the object.</p> </dd> <dt><dfn data-lt="state|states|State" id="dfn-state" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">State</dfn></dt> <dd> <p>A state is a dynamic <a class="termref" href="#dfn-property" id="ref-for-dfn-property-6">property</a> expressing characteristics of an <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-11">object</a> 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 <a class="specref" href="#statevsprop">clarification of states versus properties</a>.</p> </dd> <dt><dfn id="dfn-sub-document" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Sub-document</dfn></dt> <dd> <p>Any document created from a <code><frame></code>, <code><iframe></code> or similar mechanism. A sub-document may contain a document, an application or any widget such as a calendar pulled in from another server. In the <a href="#dfn-accessibility-tree" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-6">accessibility tree</a> there are two <a class="termref internalDFN" data-lt="accessible object" href="#dfn-accessible-object" data-link-type="dfn" id="ref-for-dfn-accessible-object-4">accessible objects</a> for this situation—one represents the <code><frame></code>/<code><iframe></code> element in the parent document, which parents a single <a href="#dfn-accessible-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessible-object-5">accessible object</a> child representing the spawned document contents.</p> </dd> <dt><dfn id="dfn-target-element" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Target Element</dfn></dt> <dd> <p>An element specified in a <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> relation. For example, in <code> <div aria-controls=”elem1”></code>, where <code>“elem1”</code> is the ID for the target element.</p> </dd> <dt><dfn id="dfn-taxonomy" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Taxonomy</dfn></dt> <dd> <p>A hierarchical definition of how the characteristics of various <a class="termref internalDFN" data-lt="class" href="#dfn-class" data-link-type="dfn" id="ref-for-dfn-class-3">classes</a> relate to each other, in which classes inherit the properties of superclasses in the hierarchy. A taxonomy can comprise part of the formal definition of an <a href="#dfn-ontology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-ontology-2">ontology</a>.</p> </dd> <dt><dfn id="dfn-text-node" data-plurals="text nodes" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Text node</dfn></dt> <dd> <p>Type of <abbr title="Document Object Model">DOM</abbr> <a class="termref internalDFN" data-lt="node" href="#dfn-node" data-link-type="dfn" id="ref-for-dfn-node-2">node</a> that represents the textual content of an <a class="termref internalDFN" href="#dfn-attribute" data-link-type="dfn" id="ref-for-dfn-attribute-5">attribute</a> or an <a class="termref internalDFN" href="#dfn-element" data-link-type="dfn" id="ref-for-dfn-element-10">element</a>. A Text node has no child nodes. </p> </dd> <dt><dfn id="dfn-tooltip-attribute" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Tooltip attribute</dfn></dt> <dd> <p>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.</p> </dd> <dt><dfn id="dfn-understandable" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Understandable</dfn></dt> <dd> <p>Presentable to users in ways they can construct an appropriate meaning. References in this document relate to <cite><a href="https://www.w3.org/TR/WCAG21/#understandable"><abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.1 Principle 3: Information and the operation of user interface must be understandable</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-wcag21" title="Web Content Accessibility Guidelines (WCAG) 2.1">WCAG21</a></cite>].</p> </dd> <dt><dfn data-lt="unicode braille|Unicode Braille Patterns" id="dfn-unicode-braille" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Unicode Braille Patterns</dfn></dt> <dd> <p>In Unicode, braille is represented in a block called Braille Patterns (U+2800..U+28FF). The block contains all 256 possible patterns of an 8-dot braille cell; this includes the complete 6-dot cell range which is represented by U+2800..U+283F. In all braille systems, the braille pattern dots-0 (U+2800) is used to represent a space or the lack of content; it is also called a blank Braille pattern. See <cite><a href="https://en.wikipedia.org/wiki/Braille_Patterns">Braille Patterns on Wikipedia</a>.</cite></p> </dd> <dt><dfn data-lt="user agent|user agents|User Agent" id="dfn-user-agent" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">User Agent</dfn></dt> <dd> <p>Any software that retrieves, renders and facilitates end user interaction with Web content. This definition may differ from that used in other documents.</p> </dd> <dt><dfn id="dfn-valid-idref" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Valid IDREF</dfn></dt> <dd> <p>A reference to a target element in the same document that has a matching ID</p> </dd> <dt><dfn data-lt="widget|widgets|Widget" id="dfn-widget" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">Widget</dfn></dt> <dd> <p>Discrete user interface <a class="termref" href="#dfn-object" id="ref-for-dfn-object-12">object</a> 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).</p> </dd> </dl> </div> </section> <section class="normative override" id="conformance"><div class="header-wrapper"><h2 id="x3-conformance"><bdi class="secno">3. </bdi>Conformance</h2><a class="self-link" href="#conformance" aria-label="Permalink for Section 3."></a></div> <p>The main content of Accessible Rich Internet Applications is <a href="#dfn-normative" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-normative-2">normative</a> and defines requirements that impact conformance claims. Introductory material, appendices, sections marked as "non-normative" and their subsections, diagrams, examples, and notes are <a href="#dfn-informative" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-informative-2">informative</a> (non-normative). Non-normative material provides advisory information to help interpret the guidelines but does not create requirements that impact a conformance claim.</p> <p>Normative sections provide requirements that <a class="termref informative internalDFN" href="#dfn-user-agent" data-link-type="dfn" id="ref-for-dfn-user-agent-10">user agents</a> must follow for an implementation to conform to this specification. The keywords <em class="rfc2119"><em class="rfc2119">MUST</em></em>, <em class="rfc2119"><em class="rfc2119">MUST NOT</em></em>, <em class="rfc2119"><em class="rfc2119">REQUIRED</em></em>, <em class="rfc2119"><em class="rfc2119">SHALL</em></em>, <em class="rfc2119"><em class="rfc2119">SHALL NOT</em></em>, <em class="rfc2119"><em class="rfc2119">SHOULD</em></em>, <em class="rfc2119"><em class="rfc2119">RECOMMENDED</em></em>, <em class="rfc2119"><em class="rfc2119">MAY</em></em>, and <em class="rfc2119"><em class="rfc2119">OPTIONAL</em></em> in this document are to be interpreted as described in <cite><a href="http://www.rfc-editor.org/rfc/rfc2119.txt">Keywords for use in RFCs to indicate requirement levels</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-rfc2119" title="Key words for use in RFCs to Indicate Requirement Levels">RFC2119</a></cite>]. RFC-2119 keywords are formatted in uppercase and contained in an element with <code>class="rfc2119"</code>. When the keywords shown above are used, but do not share this format, they do not convey formal information in the RFC 2119 sense, and are merely explanatory, i.e., informative. As much as possible, such usages are avoided in this specification.</p> <p>Normative sections provide requirements that authors, user agents and assistive technologies <em class="rfc2119">MUST</em> follow for an implementation to conform to this specification.</p> <p>Non-normative (informative) sections provide information useful to understanding the specification. Such sections may contain examples of recommended practice, but it is not required to follow such recommendations in order to conform to this specification.</p> <section id="ua_noninterference"><div class="header-wrapper"><h3 id="x3-1-non-interference-with-the-host-language"><bdi class="secno">3.1 </bdi>Non-interference with the Host Language</h3><a class="self-link" href="#ua_noninterference" aria-label="Permalink for Section 3.1"></a></div> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> processing by the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-11">user agent</a> <em class="rfc2119">MUST NOT</em> interfere with the normal operation of the built-in features of the host language.</p> <p>If a <abbr title="Cascading Style Sheets">CSS</abbr> selector includes a <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> attribute (e.g., <code class="highlight lang-css hljs" aria-busy="false">input[aria-invalid="true"]</code>), user agents <em class="rfc2119">MUST</em> update the visual display of any elements matching (or no longer matching) the selector any time the attribute is added/changed/removed in the <abbr title="Document Object Model">DOM</abbr>. The user agent <em class="rfc2119">MAY</em> alter the mapping of the host language features into an <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-14">accessibility <abbr title="Application Programing Interface">API</abbr></a>, but the user agent <em class="rfc2119">MUST NOT</em> alter the <abbr title="Document Object Model">DOM</abbr> in order to remap <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> markup into host language features.</p> </section> <section id="ua_dom"><div class="header-wrapper"><h3 id="x3-2-all-wai-aria-in-dom"><bdi class="secno">3.2 </bdi>All <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> in <abbr title="Document Object Model">DOM</abbr></h3><a class="self-link" href="#ua_dom" aria-label="Permalink for Section 3.2"></a></div> <p>A conforming <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-12">user agent</a> which implements a document object model that does not conform to the <abbr title="World Wide Web Consortium">W3C</abbr> <abbr title="Document Object Model">DOM</abbr> specification <em class="rfc2119">MUST</em> include the content attribute for role and its <a href="#roles_categorization"><abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role values</a>, as well as the <a href="#states_and_properties"><abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> States and Properties</a> in the <abbr title="Document Object Model">DOM</abbr> as specified by the author, even though processing may affect how the elements are exposed to accessibility <abbr title="Application Programing Interfaces">APIs</abbr>. Doing so ensures that each role attribute and all <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> states and properties, including their values, are in the document in an unmodified form so other tools, such as assistive technologies, can access them. A conforming <abbr title="World Wide Web Consortium">W3C</abbr> <abbr title="Document Object Model">DOM</abbr> meets this criterion.</p> </section> <section id="ua_domchanges"><div class="header-wrapper"><h3 id="x3-3-assistive-technology-notifications-communicated-to-web-applications"><bdi class="secno">3.3 </bdi>Assistive Technology Notifications Communicated to Web Applications</h3><a class="self-link" href="#ua_domchanges" aria-label="Permalink for Section 3.3"></a></div> <p><a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-12">Assistive technologies</a>, such as speech recognition systems and alternate input devices for users with mobility impairments, require the ability to control a web application in a device-independent way. <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-9">states</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-7">properties</a> reflect the current state of rich internet application components. The ability for assistive technologies to notify web applications of necessary changes is essential because it allows these alternative input solutions to control an application without being dependent on the standard input device which the user is unable to effectively control directly.</p> <p>User agents <em class="rfc2119">MUST</em> provide a method to notify the web application when a change occurs to states or properties in the system accessibility <abbr title="application programming interface">API</abbr>. Likewise, web application authors <em class="rfc2119">SHOULD</em> update the web application accordingly when notified of a change request from the user agent or assistive technology.</p> <div class="note" role="note" id="issue-container-generatedID"><div role="heading" class="note-title marker" id="h-note" aria-level="4"><span>Note</span></div><p class="">Many state and properties can be changed by assistive technologies through existing accessibility <abbr title="Application Programing Interfaces">APIs</abbr> by responding to a default action event. For example, the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> state of a <a href="#tab" class="role-reference"><code>tab</code></a> in a <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> can be changed by triggering the default action on the element.</p></div> </section> <section id="conformance_checkers"><div class="header-wrapper"><h3 id="x3-4-conformance-checkers"><bdi class="secno">3.4 </bdi>Conformance Checkers</h3><a class="self-link" href="#conformance_checkers" aria-label="Permalink for Section 3.4"></a></div> <p>Any application or script verifying document conformance or validity <em class="rfc2119">SHOULD</em> include a test for all of the <a href="#dfn-normative" id="ref-for-dfn-normative-3">normative</a> author requirements in this specification. If testing for a given requirement, conformance checkers <em class="rfc2119">MUST</em> issue an error if an author "<em class="rfc2119">MUST</em>" requirement isn't met, and <em class="rfc2119">MUST</em> issue a warning if an author "<em class="rfc2119">SHOULD</em>" requirement isn't met.</p> </section> <section id="deprecated"><div class="header-wrapper"><h3 id="x3-5-deprecated-requirements"><bdi class="secno">3.5 </bdi>Deprecated Requirements</h3><a class="self-link" href="#deprecated" aria-label="Permalink for Section 3.5"></a></div> <p>As the technology evolves, sometimes new ways to meet a use case become available, that work better than a feature that was previously defined. But because of existing implementation of the older feature, that feature cannot be removed from the conformance model without rendering formerly conforming content non-conforming. In this case, the older feature is marked as "deprecated". This indicates that the feature is allowed in the conformance model and expected to be supported by user agents, but it is recommended that authors do not use it for new content. In future versions of the specification, if the feature is no longer widely used, the feature could be removed and no longer expected to be supported by user agents.</p> </section> </section> <section class="normative" id="usage"><div class="header-wrapper"><h2 id="x4-using-wai-aria"><bdi class="secno">4. </bdi>Using <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr></h2><a class="self-link" href="#usage" aria-label="Permalink for Section 4."></a></div> <p>Complex web applications become inaccessible when <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-13">assistive technologies</a> cannot determine the <a href="#dfn-semantics" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-semantics-3">semantics</a> behind portions of a document or when the user is unable to effectively navigate to all parts of it in a usable way (see <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite>). <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> divides the semantics into <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-6">roles</a> (the type defining a user interface element) and <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-10">states</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-8">properties</a> supported by the roles.</p> <p>Authors need to associate <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-11">elements</a> in the document to a <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role and the appropriate states and properties (aria-* <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-6">attributes</a>) during its life-cycle, unless the elements already have the appropriate <a href="#implicit_semantics">implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> semantics</a> for states and properties. In these instances the equivalent host language states and properties take precedence to avoid a conflict while the role attribute will take precedence over the implicit role of the host language element.</p> <section id="introroles" class="normative"><div class="header-wrapper"><h3 id="x4-1-wai-aria-roles"><bdi class="secno">4.1 </bdi><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Roles</h3><a class="self-link" href="#introroles" aria-label="Permalink for Section 4.1"></a></div> <p>A <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-7">role</a> is set on an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-12">element</a> using a <code>role</code> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-7">attribute</a>, similar to the <code>role</code> attribute defined in <cite><a href="https://www.w3.org/TR/role-attribute/">Role Attribute</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-role-attribute" title="Role Attribute 1.0">ROLE-ATTRIBUTE</a></cite>].</p> <div class="example" id="example-1"> <div class="marker"> <a class="self-link" href="#example-1">Example<bdi> 1</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"menuitem"</span>></span>Open file…<span class="hljs-tag"></<span class="hljs-name">li</span>></span></code></pre> </div> <p>The definition of each role in the model provides the following information :</p> <ul> <li>an informative description of the role;</li> <li>hierarchical information about related roles (e.g., a <a href="#searchbox" class="role-reference"><code>searchbox</code></a> is a type of <a href="#textbox" class="role-reference"><code>textbox</code></a>);</li> <li>context of the role (e.g., a <a href="#listitem" class="role-reference"><code>listitem</code></a> is contained inside a <a href="#list" class="role-reference"><code>list</code></a>);</li> <li>references to related concepts in other specifications;</li> <li>supported <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-11">states</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-9">properties</a> for each role (e.g., a <a href="#checkbox" class="role-reference"><code>checkbox</code></a> supports being checked via <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a>).</li> </ul> <p>Attaching a role gives <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-14">assistive technologies</a> information about how to handle each element. When <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> roles override host language semantics, there are no changes in the <abbr title="Document Object Model">DOM</abbr>, only in the <a class="termref informative internalDFN" href="#dfn-accessibility-tree" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-7">accessibility tree</a>.</p> <p>User agents <em class="rfc2119">MUST</em> use the first token in the sequence of tokens in the <code>role</code> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-8">attribute</a> value that matches the name of any non-abstract <abbr title="Accessible Internet Application">WAI-ARIA</abbr> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-8">role</a>. The following steps will correctly identify the applicable <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role:</p> <ol> <li>Use the rules of the host language to detect that an element has a role attribute and to identify the attribute value string for it.</li> <li>Separate the attribute value string for that attribute into a sequence of whitespace-free substrings by separating on whitespace.</li> <li>Compare the substrings to all the names of the non-abstract <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> roles. Case-sensitivity of the comparison inherits from the case-sensitivity of the host language.</li> <li>Use the first such substring in textual order that matches the name of a non-abstract <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role.</li> </ol> </section> <section id="introstates"><div class="header-wrapper"><h3 id="x4-2-wai-aria-states-and-properties"><bdi class="secno">4.2 </bdi><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> States and Properties</h3><a class="self-link" href="#introstates" aria-label="Permalink for Section 4.2"></a></div> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> provides a collection of accessibility <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-12">states</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-10">properties</a> which are used to support platform <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-15">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a> on various operating system platforms. <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-15">Assistive technologies</a> may access this information through an exposed <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-13">user agent</a> <abbr title="Document Object Model">DOM</abbr> or through a mapping to the platform accessibility <abbr title="Application Programing Interfaces">API</abbr>. When combined with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-9">roles</a>, the user agent can supply the assistive technologies with user interface information to convey to the user at any time. Changes in states or properties will result in a notification to assistive technologies, which could alert the user that a change has occurred.</p> <p>In the following example, a list item (<code>html:li</code>) has been used to create a checkable menu item, and JavaScript <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-5">events</a> will capture mouse and keyboard events to toggle the value of <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a>. A role is used to make the behavior of this simple <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-6">widget</a> known to the user agent. <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-9">Attributes</a> that change with user actions (such as <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a>) are defined in the <a href="#states_and_properties">states and properties</a> section.</p> <div class="example" id="example-2"> <div class="marker"> <a class="self-link" href="#example-2">Example<bdi> 2</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"menuitemcheckbox"</span> <span class="hljs-attr">aria-checked</span>=<span class="hljs-string">"true"</span>></span>Sort by Last Modified<span class="hljs-tag"></<span class="hljs-name">li</span>></span></code></pre> </div> <p>Some accessibility states, called <em><a href="#dfn-managed-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-managed-state-1">managed states</a></em>, are controlled by the user agent. Examples of managed state include keyboard focus and selection. Managed states often have corresponding <abbr title="Cascading Style Sheets">CSS</abbr> pseudo-classes (such as <code>:focus</code> and <code>::selection</code>) to define style changes. In contrast, the states in this specification are typically controlled by the author and are called <em>unmanaged states.</em> Some states are managed by the user agent, such as <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a> and <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a>, but the author can override them if the <abbr title="Document Object Model">DOM</abbr> is incomplete and would cause the user agent calculation to be incorrect. User agents map both managed and unmanaged states to the platform accessibility <abbr title="Application Programing Interfaces">APIs</abbr>.</p> <p>Most modern user agents support <cite><a href="https://www.w3.org/TR/css3-selectors/#attribute-selectors"><abbr title="Cascading Style Sheets">CSS</abbr> attribute selectors</a></cite> ([<cite><a class="bibref" data-link-type="biblio" href="#bib-css3-selectors" title="Selectors Level 3">CSS3-SELECTORS</a></cite>]), and can allow the author to create <abbr title="User Interface">UI</abbr> changes based on <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> attribute information, reducing the amount of scripts necessary to achieve equivalent functionality. In the following example, a <abbr title="Cascading Style Sheets">CSS</abbr> selector is used to determine whether or not the text is bold and an image of a check mark is shown, based on the value of the <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> attribute.</p> <div class="example" id="example-3"> <div class="marker"> <a class="self-link" href="#example-3">Example<bdi> 3</bdi></a> </div> <pre class="highlight lang-css" aria-busy="false"><code class="hljs">[aria-checked="true"] { font-weight: bold; } [aria-checked="true"]::before { background-image: url(checked.gif); }</code></pre> </div> <p>If <abbr title="Cascading Style Sheets">CSS</abbr> is not used to toggle the visual representation of the check mark, the author could include additional markup and scripts to manage an image that represents whether or not the <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a> is checked.</p> <div class="example" id="example-4"> <div class="marker"> <a class="self-link" href="#example-4">Example<bdi> 4</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"menuitemcheckbox"</span> <span class="hljs-attr">aria-checked</span>=<span class="hljs-string">"true"</span>></span> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"checked.gif"</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"presentation"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">""</span>></span> <span class="hljs-comment"><!-- <span class="hljs-doctag">note:</span> additional scripts required to toggle image source --></span> Sort by Last Modified <span class="hljs-tag"></<span class="hljs-name">li</span>></span></code></pre> </div> </section> <section id="managingfocus" class="normative"><div class="header-wrapper"><h3 id="x4-3-managing-focus-and-supporting-keyboard-navigation"><bdi class="secno">4.3 </bdi>Managing Focus and Supporting Keyboard Navigation</h3><a class="self-link" href="#managingfocus" aria-label="Permalink for Section 4.3"></a></div> <p>When using standard <abbr title="Hypertext Markup Language">HTML</abbr> interactive elements and simple <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-7">widgets</a>, application developers can manipulate the tab order or associate keyboard shortcuts with elements in the document.</p> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> includes a number of "managing container" widgets, also known as "composite" widgets. When appropriate, the container is responsible for tracking the last descendant that was active (the default is usually the first item in the container). It is essential that a container maintain a usable and consistent strategy when focus leaves a container and is then later refocused. While there may be exceptions, it is recommended that when a previously focused container is refocused, the active descendant be the same element as the active descendant when the container was last focused. Exceptions include cases where the contents of a container widget have changed, and widgets like a menubar where the user expects to always return to the first item when focus leaves the menu bar. For example, if the second item of a tree group was the active descendant when the user tabbed out of the tree group, then the second item of the tree group remains the active descendant when the tree group gets focus again. The user may also activate the container by clicking on one of the descendants within it. When the container or its active descendant has focus, the user may navigate through the container by pressing additional keys, such as the arrow keys, to change the currently active descendant. Any additional press of the main navigation key (generally the <kbd>TAB</kbd> key) will move out of the container to the next widget.</p> <p>Usable keyboard navigation in a rich internet application is different from the tabbing paradigm among interactive elements, such as links and form controls, in a static document. In rich internet applications, the user tabs to significantly complex <a class="termref informative internalDFN" href="#dfn-widget" data-link-type="dfn" id="ref-for-dfn-widget-8">widgets</a>, such as a menu or spreadsheet, and uses the arrow keys to navigate within the widget. The changes that <abbr title="accessible rich internet applications">WAI-ARIA</abbr> introduces to keyboard navigation make this enhanced accessibility possible. In <abbr title="accessible rich internet applications">WAI-ARIA</abbr>, any element can be keyboard focusable. In addition to host language mechanisms such as <code>tabindex</code>, <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> provides another mechanism for keyboard operation. Most other aspects of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> widget development depend on keyboard navigation functioning properly.</p> <p> When implementing <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> as described below, the user agent keeps the <abbr title="Document Object Model">DOM</abbr> focus on the container element or on an input element that controls the container element. However, the user agent communicates <a href="#dfn-desktop-focus" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-desktop-focus-1">desktop focus events</a> and states to the assistive technology as if the element referenced by <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> has focus. User agents are not expected to validate that the active descendant is a descendant of the container element. It is the responsibility of the user agent to ensure that keyboard events are processed at the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-13">element</a> that has <abbr title="Document Object Model">DOM</abbr> focus. Any keyboard events directed at the active descendant bubble up to the <abbr title="Document Object Model">DOM</abbr> element with focus for processing. </p> <section id="managingfocus_authors"><div class="header-wrapper"><h4 id="x4-3-1-information-for-authors"><bdi class="secno">4.3.1 </bdi>Information for Authors</h4><a class="self-link" href="#managingfocus_authors" aria-label="Permalink for Section 4.3.1"></a></div> <p>If the author removes the element with focus, the author <em class="rfc2119">SHOULD</em> move focus to a logical element. Similarly, authors <em class="rfc2119">SHOULD</em> not scroll the element with focus off screen unless the user performed a scrolling action.</p> <p>Authors <em class="rfc2119">SHOULD</em> ensure that all interactive <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-14">elements</a> are focusable and that all parts of composite widgets are either focusable or have a documented alternative method to achieve their function.</p> <p>Authors <em class="rfc2119">MUST</em> manage focus on the following container roles:</p> <ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#menu" class="role-reference"><code>menu</code></a></li> <li><a href="#menubar" class="role-reference"><code>menubar</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> <li><a href="#tablist" class="role-reference"><code>tablist</code></a></li> </ul> <p>User agents that support <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> expand the usage of host language mechanisms such as <code>tabindex</code>, <code>focus</code>, and <code>blur</code> to allow them on all <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-15">elements</a>. Where the host language supports it, authors <em class="rfc2119">MAY</em> add any element such as a <code>div</code>, <code>span</code>, or <code>img</code> to the default tab order by setting <code>tabindex="0"</code>. In addition, any item with <code>tabindex</code> equal to a negative integer is focusable via script or a mouse click, but is not part of the default tab order. This is supported in both [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] and [<cite><a class="bibref" data-link-type="biblio" href="#bib-svg2" title="Scalable Vector Graphics (SVG) 2">SVG2</a></cite>].</p> <p> Authors <em class="rfc2119">MAY</em> use <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> to inform <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-16">assistive technologies</a> which descendant of a <a href="#widget" class="role-reference"><code>widget</code></a> element is treated as having keyboard focus in the user interface if the role of the widget element supports <code>aria-activedescendant</code>. This is often a more convenient way of providing keyboard navigation within widgets, such as a <a href="#listbox" class="role-reference"><code>listbox</code></a>, where the widget occupies only one stop in the page <kbd>Tab</kbd> sequence and other keys, typically arrow keys, are used to focus elements inside the widget. </p> <p>Typically, the author will use host language <a href="#dfn-semantics" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-semantics-4">semantics</a> to put the widget in the <kbd>Tab</kbd> sequence (e.g., <code>tabindex="0"</code> in <abbr title="Hypertext Markup Language">HTML</abbr>) and <code>aria-activedescendant</code> to point to the ID of the currently active descendant. The author, not the user agent, is responsible for styling the currently active descendant to show it has keyboard focus. The author cannot use <code>:<span class="css-selector">focus</span></code> to style the currently active descendant since the actual focus is on the container.</p> <p>More information on managing focus can be found in the <a href="https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/" class="practices">Developing a Keyboard Interface</a> section of the <cite><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</cite>.</p> </section> <section id="managingfocus_useragents"><div class="header-wrapper"><h4 id="x4-3-2-information-for-user-agents"><bdi class="secno">4.3.2 </bdi>Information for User Agents</h4><a class="self-link" href="#managingfocus_useragents" aria-label="Permalink for Section 4.3.2"></a></div> <p>The user agent <em class="rfc2119">MUST</em> do the following to implement <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a>:</p> <ol> <li>Implement the host language method for keyboard navigation so that widgets that support <code>aria-activedescendant</code> may be included in the tab order.</li> <li>For platforms that expose <a href="#dfn-desktop-focus" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-desktop-focus-2">desktop focus</a> or <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-16">accessibility <abbr title="Application Programing Interfaces">API</abbr></a> focus separately from <abbr title="Document Object Model">DOM</abbr> focus, do not expose the focused state in the accessibility <abbr title="application programming interface">API</abbr> for any element when it has <abbr title="Document Object Model">DOM</abbr> focus and also has <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> which points to a valid <a href="#valuetype_idref">ID reference</a>.</li> <li>When the <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute changes on an element that currently has <abbr title="Document Object Model">DOM</abbr> focus, remove the focused state from the previously focused object and fire an accessibility <abbr title="application programming interface">API</abbr> <a href="#dfn-desktop-focus" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-desktop-focus-3">desktop focus event</a> on the new element referenced by <code>aria-activedescendant</code>. If <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> is cleared or does not point to an element in the current document, fire a desktop focus event for the <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-13">object</a> that had the attribute change.</li> <li>Apply the following accessibility <abbr title="Application Programming Interface">API</abbr> states to any element with an ID attribute that can be referenced by an element with both an <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute and has <abbr title="Document Object Model">DOM</abbr> focus. There are two ways an element can be referenced by <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a>. One way is when it is <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-1">owned</a> by an element with <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> and the other is when it is <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-2">owned</a> by an element that is controlled by an element with role of <a href="#combobox" class="role-reference"><code>combobox</code></a>, <a href="#textbox" class="role-reference"><code>textbox</code></a> or <a href="#searchbox" class="role-reference"><code>searchbox</code></a> with an <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute: <ol> <li>Focusable, if the element also has a <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> <a class="termref informative internalDFN" href="#dfn-role" data-link-type="dfn" id="ref-for-dfn-role-10">role</a>. The element needs to be focusable because it could be referenced by the <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute. Native elements that have no <a class="termref informative internalDFN" href="#dfn-role" data-link-type="dfn" id="ref-for-dfn-role-11">role</a> attribute do not need to be checked; their native semantics determine the focusable state.</li> <li>Focused, whenever the element is the target of the <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute and the element with the <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute has <abbr title="Document Object Model">DOM</abbr> focus.</li> </ol> </li> </ol> <p>When an assistive technology uses its platform's accessibility <abbr title="Application Programming Interfaces">API</abbr> to request a change of focus, user agents <em class="rfc2119">MUST</em> do the following:</p> <ol> <li>Remove the platform's focused state from the previously focused object.</li> <li>Set the <abbr title="Document Object Model">DOM</abbr> focus: <ol> <li>If the <a class="termref informative internalDFN" href="#dfn-element" data-link-type="dfn" id="ref-for-dfn-element-16">element</a> can take <abbr title="Document Object Model">DOM</abbr> focus, the <a class="termref informative internalDFN" href="#dfn-user-agent" data-link-type="dfn" id="ref-for-dfn-user-agent-14">user agent</a> <em class="rfc2119">MUST</em> set the <abbr title="Document Object Model">DOM</abbr> focus to it.</li> <li>Otherwise, if the current element has an ID and the ID is referenced by the <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute of an element that is focusable, the user agent <em class="rfc2119">MUST</em> set <abbr title="Document Object Model">DOM</abbr> focus to the element that has the <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute. <div class="note" role="note" id="issue-container-generatedID-0"><div role="heading" class="note-title marker" id="h-note-0" aria-level="5"><span>Note</span></div><p class="">An element with an ID can be referenced when it is <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-3">owned</a> by a container element that has the <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute or by a container element that is controlled by an element that has the <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute (e.g. see <a href="#combobox" class="role-reference"><code>combobox</code></a>). Otherwise the <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute reference indicates an author error.</p></div> <div class="note" role="note" id="issue-container-generatedID-1"><div role="heading" class="note-title marker" id="h-note-1" aria-level="5"><span>Note</span></div><p class="">The inability to set <abbr title="Document Object Model">DOM</abbr> focus to the containing element indicates an author error.</p></div> </li> <li>Otherwise, the user agent <em class="rfc2119">MAY</em> attempt to set <abbr title="Document Object Model">DOM</abbr> focus to the child element itself.</li> </ol> </li> <li>If the current element has an ID and is <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-4">owned</a> by either a container element with both an <code>aria-activedescendant</code> attribute and has <abbr title="Document Object Model">DOM</abbr> focus, or by a container element that is controlled by an element with both an <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute and has <abbr title="Document Object Model">DOM</abbr> focus, the user agent <em class="rfc2119">MUST</em> set the accessibility <abbr title="Application Programming Interface">API</abbr> focused state and fire an accessibility <abbr title="Application Programming Interface">API</abbr> focus <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-6">event</a> on the element identified by the value of <code>aria-activedescendant</code>.</li> </ol> </section> </section> </section> <section class="normative" id="roles"><div class="header-wrapper"><h2 id="x5-the-roles-model"><bdi class="secno">5. </bdi>The Roles Model</h2><a class="self-link" href="#roles" aria-label="Permalink for Section 5."></a></div> <p>This section defines <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-12">roles</a> and describes their characteristics and properties.</p> <p>The roles, their characteristics, the states and properties they support, and specification of how they may be used in markup, shall be considered normative.</p> <p>In order to reflect the content in the <abbr title="Document Object Model">DOM</abbr>, user agents <em class="rfc2119">SHOULD</em> map the role attribute to the appropriate value in the implemented accessibility <abbr title="application programming interface">API</abbr>, and user agents <em class="rfc2119">SHOULD</em> update the mapping when the role attribute changes.</p> <section id="relationshipsconcepts"><div class="header-wrapper"><h3 id="x5-1-relationships-between-concepts"><bdi class="secno">5.1 </bdi>Relationships Between Concepts</h3><a class="self-link" href="#relationshipsconcepts" aria-label="Permalink for Section 5.1"></a></div> <p>The Roles Model uses the following relationships to relate <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles to each other and to concepts from other specifications, such as <abbr title="Hypertext Markup Language">HTML</abbr>.</p> <section id="superclassrole"><div class="header-wrapper"><h4 id="x5-1-1-superclass-role"><bdi class="secno">5.1.1 </bdi>Superclass Role</h4><a class="self-link" href="#superclassrole" aria-label="Permalink for Section 5.1.1"></a></div> <p>The <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-13">role</a> that the current subclassed role extends in the Roles Model. This extension causes all the properties and constraints of the superclass role to propagate to the subclass role. Other than well known stable specifications, inheritance may be restricted to items defined inside this specification, so that external items cannot be changed and affect inherited <a href="#dfn-class" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-class-4">classes</a>.</p> </section> <section id="subclassroles"><div class="header-wrapper"><h4 id="x5-1-2-subclass-roles"><bdi class="secno">5.1.2 </bdi>Subclass Roles</h4><a class="self-link" href="#subclassroles" aria-label="Permalink for Section 5.1.2"></a></div> <p>Informative list of <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-14">roles</a> for which this role is the superclass. This is provided to facilitate reading of the specification but adds no new information.</p> </section> <section id="relatedConcept"><div class="header-wrapper"><h4 id="x5-1-3-related-concepts"><bdi class="secno">5.1.3 </bdi>Related Concepts</h4><a class="self-link" href="#relatedConcept" aria-label="Permalink for Section 5.1.3"></a></div> <p>Informative data about a similar or related idea from other specifications. Concepts that are related are not necessarily identical. Related concepts do not inherit properties from each other. Hence if the definition of one concept changes, the properties, behavior, and definition of its related concept is not affected.</p> <p>For example, a progress bar is like a status indicator. Therefore, the <a href="#progressbar" class="role-reference"><code>progressbar</code></a> <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-9">widget</a> has a related concept which includes <a href="#status" class="role-reference"><code>status</code></a>. However, if the definition of <a href="#status" class="role-reference"><code>status</code></a> is modified, the definition of a <a href="#progressbar" class="role-reference"><code>progressbar</code></a> is not affected.</p> </section> <section id="baseConcept"><div class="header-wrapper"><h4 id="x5-1-4-base-concept"><bdi class="secno">5.1.4 </bdi>Base Concept</h4><a class="self-link" href="#baseConcept" aria-label="Permalink for Section 5.1.4"></a></div> <p>Informative data about <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-14">objects</a> that are considered prototypes for the <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-15">role</a>. Base concept is similar to type, but without inheritance of limitations and properties. Base concepts are designed as a substitute for inheritance for external concepts. A base concept is like a <a href="#relatedConcept">related concept</a> except that the base concept is almost identical to the role definition.</p> <p>For example, the <a href="#checkbox" class="role-reference"><code>checkbox</code></a> defined in this document has similar functionality and anticipated behavior to a <code><input[type="checkbox"]></code> defined in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]. Therefore, a <a href="#checkbox" class="role-reference"><code>checkbox</code></a> has an [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] <code>checkbox</code> as a <code>baseConcept</code>. However, if the original [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] checkbox baseConcept definition is modified, the definition of a <a href="#checkbox" class="role-reference"><code>checkbox</code></a> in this document will not be affected, because there is no actual inheritance of the respective type.</p> </section> </section> <section id="Properties"><div class="header-wrapper"><h3 id="x5-2-characteristics-of-roles"><bdi class="secno">5.2 </bdi>Characteristics of Roles</h3><a class="self-link" href="#Properties" aria-label="Permalink for Section 5.2"></a></div> <p>Roles are defined and described by their characteristics. Characteristics define the structural function of a role, such as what a role is, concepts behind it, and what instances the role can or must contain. In the case of <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-10">widgets</a> this also includes how it interacts with the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-15">user agent</a> based on mapping to <abbr title="Hypertext Markup Language">HTML</abbr> forms. States and properties from <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> that are supported by the role are also indicated.</p> <p>Roles define the following characteristics. </p> <section id="isAbstract"><div class="header-wrapper"><h4 id="x5-2-1-abstract-roles"><bdi class="secno">5.2.1 </bdi>Abstract Roles</h4><a class="self-link" href="#isAbstract" aria-label="Permalink for Section 5.2.1"></a></div> <dl class="runin"> <dt>Values</dt> <dd>Boolean</dd> </dl> <p>Abstract <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-16">roles</a> are the foundation upon which all other <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles are built. Content authors <em class="rfc2119">MUST NOT</em> use abstract roles because they are not implemented in the <abbr title="application programing interface">API</abbr> binding. User agents <em class="rfc2119">MUST NOT</em> map abstract roles to the standard role mechanism of the accessibility <abbr title="application programming interface">API</abbr>. Abstract roles are provided to help with the following:</p> <ol> <li>Organize the Roles Model and provide roles with a meaning in the context of known concepts.</li> <li>Streamline the addition of roles that include necessary features.</li> </ol> </section> <section id="requiredState"><div class="header-wrapper"><h4 id="x5-2-2-required-states-and-properties"><bdi class="secno">5.2.2 </bdi>Required States and Properties</h4><a class="self-link" href="#requiredState" aria-label="Permalink for Section 5.2.2"></a></div> <p><a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-13">States</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-11">properties</a> specifically required for the <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-17">role</a> and subclass roles. Content authors <em class="rfc2119">MUST</em> provide a non-empty <span>value</span> for required states and properties. Content authors <em class="rfc2119">MUST NOT</em> use the value <code>undefined</code> for required states and properties, unless <code>undefined</code> is an explicitly-supported value of that state or property.</p> <p>When an <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-15">object</a> inherits from multiple ancestors and one ancestor indicates that property is supported while another ancestor indicates that it is required, the property is required in the inheriting object.</p> <div class="note" role="note" id="issue-container-generatedID-2"><div role="heading" class="note-title marker" id="h-note-2" aria-level="5"><span>Note</span></div><p class="">A host language attribute with the appropriate <a href="#implicit_semantics">implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> semantic</a> fulfills this requirement.</p></div> </section> <section id="supportedState"><div class="header-wrapper"><h4 id="x5-2-3-supported-states-and-properties"><bdi class="secno">5.2.3 </bdi>Supported States and Properties</h4><a class="self-link" href="#supportedState" aria-label="Permalink for Section 5.2.3"></a></div> <p><a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-14">States</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-12">properties</a> specifically applicable to the <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-18">role</a> and child roles. Content authors <em class="rfc2119">MAY</em> provide <span>values</span> for supported states and properties, but need not in cases where default values are sufficient. <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-16">User agents</a> <em class="rfc2119">MUST</em> map all supported states and properties for the role to an accessibility <abbr title="application programming interface">API</abbr>. If the state or property is undefined and it has a default value for the role, <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-17">user agents</a> <em class="rfc2119">SHOULD</em> expose the default value.</p> <div class="note" role="note" id="issue-container-generatedID-3"><div role="heading" class="note-title marker" id="h-note-3" aria-level="5"><span>Note</span></div><p class="">A host language attribute with the appropriate <a href="#implicit_semantics">implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> semantic</a> fulfills this requirement.</p></div> </section> <section id="inheritedattributes"><div class="header-wrapper"><h4 id="x5-2-4-inherited-states-and-properties"><bdi class="secno">5.2.4 </bdi>Inherited States and Properties</h4><a class="self-link" href="#inheritedattributes" aria-label="Permalink for Section 5.2.4"></a></div> <p>Informative list of properties that are inherited by a <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-19">role</a> from superclass roles. <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-15">States</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-13">properties</a> are inherited from superclass roles in the Roles Model, not from ancestor <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-17">elements</a> in the <abbr title="Document Object Model">DOM</abbr> tree. These properties are not explicitly defined on the role, as the inheritance of properties is automatic. This information is provided to facilitate reading of the specification. The set of supported states and properties combined with inherited states and properties forms the full set of states and properties supported by the role.</p> </section> <section id="prohibitedattributes"><div class="header-wrapper"><h4 id="x5-2-5-prohibited-states-and-properties"><bdi class="secno">5.2.5 </bdi>Prohibited States and Properties</h4><a class="self-link" href="#prohibitedattributes" aria-label="Permalink for Section 5.2.5"></a></div> <p>List of states and properties that are prohibited on a <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-20">role</a>. Authors <em class="rfc2119">MUST NOT</em> specify a prohibited state or property.</p> <div class="note" role="note" id="issue-container-generatedID-4"><div role="heading" class="note-title marker" id="h-note-4" aria-level="5"><span>Note</span></div><p class="">A host language attribute with the appropriate <a href="#implicit_semantics">implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> semantic</a> would also prohibit a state or property in this section. </p></div> </section> <section id="mustContain"><div class="header-wrapper"><h4 id="x5-2-6-required-owned-elements"><bdi class="secno">5.2.6 </bdi>Required Owned Elements</h4><a class="self-link" href="#mustContain" aria-label="Permalink for Section 5.2.6"></a></div> <p>Any <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-18">element</a> that will be <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-5">owned</a> by the element with this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-21">role</a>. For example, an element with the role <a href="#list" class="role-reference"><code>list</code></a> will own at least one element with the role <a href="#listitem" class="role-reference"><code>listitem</code></a>.</p> <p>When multiple roles are specified as <em>required owned elements</em> for a role, at least one instance of one required <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-6">owned</a> element is expected. This specification does <em>not</em> require an instance of each of the listed owned roles. For example, a <code>menu</code> should have at least one instance of a <code>menuitem</code>, <code>menuitemcheckbox</code>, <em>or</em> <code>menuitemradio</code>. The <code>menu</code> role does not require one instance of each. </p> <p>There may be times that required <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-7">owned</a> elements are missing, for example, while editing or while loading a data set. When a widget is missing <em>required owned elements</em> due to script execution or loading, authors <em class="rfc2119">MUST</em> mark a containing element with <a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> equal to <code>true</code>. For example, until a page is fully initialized and complete, an author could mark the document element as busy.</p> <div class="note" role="note" id="issue-container-generatedID-5"><div role="heading" class="note-title marker" id="h-note-5" aria-level="5"><span>Note</span></div><p class="">A role that has 'required owned elements' does not imply the reverse relationship. While processing of a role may be incomplete without elements of given roles present as descendants, elements with roles in this list do not always have to be found within elements of the given role. See <a href="#scope">required context role</a> for requirements about the context where elements of a given role will be contained.</p></div> <div class="note" role="note" id="issue-container-generatedID-6"><div role="heading" class="note-title marker" id="h-note-6" aria-level="5"><span>Note</span></div><p class="">An element with a <a href="#subclassroles">subclass role</a> of the 'required owned element' does not fulfill this requirement. For example, the <a href="#listbox" class="role-reference"><code>listbox</code></a> role requires ownership of an element using the <a href="#option" class="role-reference"><code>option</code></a> or <a href="#group" class="role-reference"><code>group</code></a> role. Although the <a href="#group" class="role-reference"><code>group</code></a> role is the superclass of <a href="#row" class="role-reference"><code>row</code></a>, adding an <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-8">owned</a> element with a role of <a href="#row" class="role-reference"><code>row</code></a> will not fulfill the requirement that <a href="#listbox" class="role-reference"><code>listbox</code></a> owns an <a href="#option" class="role-reference"><code>option</code></a> or a <a href="#group" class="role-reference"><code>group</code></a>.</p></div> <div class="note" role="note" id="issue-container-generatedID-7"><div role="heading" class="note-title marker" id="h-note-7" aria-level="5"><span>Note</span></div><p class="">An element with the appropriate <a href="#implicit_semantics">implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> semantic</a> fulfills this requirement.</p></div> </section> <section id="scope"><div class="header-wrapper"><h4 id="x5-2-7-required-context-role"><bdi class="secno">5.2.7 </bdi>Required Context Role</h4><a class="self-link" href="#scope" aria-label="Permalink for Section 5.2.7"></a></div> <p>The required context role defines the owning container where this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-22">role</a> is allowed. If a role has a required context, authors <em class="rfc2119">MUST</em> ensure that an element with the role is contained inside (or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-9">owned</a> by) an element with the required context role. For example, an element with role <code>listitem</code> is only meaningful when contained inside (or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-10">owned</a> by) an element with role <code>list</code>.</p> <div class="note" role="note" id="issue-container-generatedID-8"><div role="heading" class="note-title marker" id="h-note-8" aria-level="5"><span>Note</span></div><p class="">A role that has 'required context role' does not imply the reverse relationship. While an element with the given role needs to appear within an element of the listed role(s) in order to be meaningful, elements of the listed roles do not always need descendant elements of the given role in order to be meaningful. See <a href="#mustContain">required owned elements</a> for requirements about elements that require presence of a given descendant to be processed properly.</p></div> <div class="note" role="note" id="issue-container-generatedID-9"><div role="heading" class="note-title marker" id="h-note-9" aria-level="5"><span>Note</span></div><p class="">An element with the appropriate <a href="#implicit_semantics">implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> semantic</a> fulfills this requirement.</p></div> </section> <section id="namecalculation"><div class="header-wrapper"><h4 id="x5-2-8-accessible-name-calculation"><bdi class="secno">5.2.8 </bdi>Accessible Name Calculation</h4><a class="self-link" href="#namecalculation" aria-label="Permalink for Section 5.2.8"></a></div> <dl class="runin"> <dt>Values</dt> <dd>One of the following values: <ol> <li>author: name comes from values provided by the author in explicit markup features such as the <a href="#aria-label" class="property-reference"><code>aria-label</code></a> attribute, the <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> attribute, or the host language labeling mechanism, such as the <code>alt</code> or <code>title</code> attributes in <abbr title="Hypertext Markup Language">HTML</abbr>, with <abbr title="Hypertext Markup Language">HTML</abbr> <code>title</code> attribute having the lowest precedence for specifying a text alternative.</li> <li>contents: name comes from the text value of the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-19">element</a> <a href="#dfn-node" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-node-3">node</a>. Although this may be allowed in addition to "author" in some <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-23">roles</a>, this is used in content only if higher priority "author" features are not provided. Priority is defined by the <a href="https://www.w3.org/TR/accname-1.2/#mapping_additional_nd_te" class="accname">accessible name and description computation</a> algorithm [<cite><a class="bibref" data-link-type="biblio" href="#bib-accname-1.2" title="Accessible Name and Description Computation 1.2">ACCNAME-1.2</a></cite>].</li> <li>prohibited: the element does not support name from author. Authors <em class="rfc2119">MUST NOT</em> use the <a href="#aria-label" class="property-reference"><code>aria-label</code></a> or <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> attributes to name the element.</li> </ol> </dd> </dl> <section id="namecomputation"><div class="header-wrapper"><h5 id="x5-2-8-1-name-computation"><bdi class="secno">5.2.8.1 </bdi>Name Computation</h5><a class="self-link" href="#namecomputation" aria-label="Permalink for Section 5.2.8.1"></a></div> <p><a href="https://www.w3.org/TR/accname-1.2/#mapping_additional_nd_name" class="accname">Name Computation</a> is defined in the Accessible Name and Description specification.</p> </section> <section id="descriptioncomputation"><div class="header-wrapper"><h5 id="x5-2-8-2-description-computation"><bdi class="secno">5.2.8.2 </bdi>Description Computation</h5><a class="self-link" href="#descriptioncomputation" aria-label="Permalink for Section 5.2.8.2"></a></div> <p><a href="https://www.w3.org/TR/accname-1.2/#mapping_additional_nd_description" class="accname">Description Computation</a> is defined in the Accessible Name and Description specification.</p> </section> <section id="textalternativecomputation"><div class="header-wrapper"><h5 id="x5-2-8-3-accessible-name-and-description-computation"><bdi class="secno">5.2.8.3 </bdi>Accessible Name and Description Computation</h5><a class="self-link" href="#textalternativecomputation" aria-label="Permalink for Section 5.2.8.3"></a></div> <p><a href="https://www.w3.org/TR/accname-1.2/#mapping_additional_nd_te" class="accname">Accessible Name and Description Computation</a> is defined in the Accessible Name and Description specification.</p> </section> <section id="namefromauthor"><div class="header-wrapper"><h5 id="x5-2-8-4-roles-supporting-name-from-author"><bdi class="secno">5.2.8.4 </bdi>Roles Supporting Name from Author</h5><a class="self-link" href="#namefromauthor" aria-label="Permalink for Section 5.2.8.4"></a></div> <ul id="index_fromauthor" class="compact"><li><a href="#alert" class="role-reference"><code>alert</code></a></li><li><a href="#alertdialog" class="role-reference"><code>alertdialog</code></a> (name required)</li><li><a href="#application" class="role-reference"><code>application</code></a> (name required)</li><li><a href="#article" class="role-reference"><code>article</code></a></li><li><a href="#banner" class="role-reference"><code>banner</code></a></li><li><a href="#blockquote" class="role-reference"><code>blockquote</code></a></li><li><a href="#button" class="role-reference"><code>button</code></a> (name required)</li><li><a href="#cell" class="role-reference"><code>cell</code></a></li><li><a href="#checkbox" class="role-reference"><code>checkbox</code></a> (name required)</li><li><a href="#columnheader" class="role-reference"><code>columnheader</code></a> (name required)</li><li><a href="#combobox" class="role-reference"><code>combobox</code></a> (name required)</li><li><a href="#command" class="role-reference"><code>command</code></a></li><li><a href="#complementary" class="role-reference"><code>complementary</code></a></li><li><a href="#composite" class="role-reference"><code>composite</code></a></li><li><a href="#contentinfo" class="role-reference"><code>contentinfo</code></a></li><li><a href="#definition" class="role-reference"><code>definition</code></a></li><li><a href="#dialog" class="role-reference"><code>dialog</code></a> (name required)</li><li><a href="#directory" class="role-reference"><code>directory</code></a></li><li><a href="#document" class="role-reference"><code>document</code></a></li><li><a href="#feed" class="role-reference"><code>feed</code></a></li><li><a href="#figure" class="role-reference"><code>figure</code></a></li><li><a href="#form" class="role-reference"><code>form</code></a></li><li><a href="#grid" class="role-reference"><code>grid</code></a> (name required)</li><li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li><li><a href="#group" class="role-reference"><code>group</code></a></li><li><a href="#heading" class="role-reference"><code>heading</code></a> (name required)</li><li><a href="#img" class="role-reference"><code>img</code></a> (name required)</li><li><a href="#input" class="role-reference"><code>input</code></a></li><li><a href="#landmark" class="role-reference"><code>landmark</code></a></li><li><a href="#link" class="role-reference"><code>link</code></a> (name required)</li><li><a href="#list" class="role-reference"><code>list</code></a></li><li><a href="#listbox" class="role-reference"><code>listbox</code></a> (name required)</li><li><a href="#listitem" class="role-reference"><code>listitem</code></a></li><li><a href="#log" class="role-reference"><code>log</code></a></li><li><a href="#main" class="role-reference"><code>main</code></a></li><li><a href="#marquee" class="role-reference"><code>marquee</code></a> (name required)</li><li><a href="#math" class="role-reference"><code>math</code></a></li><li><a href="#meter" class="role-reference"><code>meter</code></a> (name required)</li><li><a href="#menu" class="role-reference"><code>menu</code></a></li><li><a href="#menubar" class="role-reference"><code>menubar</code></a></li><li><a href="#menuitem" class="role-reference"><code>menuitem</code></a> (name required)</li><li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a> (name required)</li><li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a> (name required)</li><li><a href="#navigation" class="role-reference"><code>navigation</code></a></li><li><a href="#note" class="role-reference"><code>note</code></a></li><li><a href="#option" class="role-reference"><code>option</code></a> (name required)</li><li><a href="#progressbar" class="role-reference"><code>progressbar</code></a> (name required)</li><li><a href="#radio" class="role-reference"><code>radio</code></a> (name required)</li><li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a> (name required)</li><li><a href="#range" class="role-reference"><code>range</code></a></li><li><a href="#region" class="role-reference"><code>region</code></a> (name required)</li><li><a href="#row" class="role-reference"><code>row</code></a></li><li><a href="#rowgroup" class="role-reference"><code>rowgroup</code></a></li><li><a href="#rowheader" class="role-reference"><code>rowheader</code></a> (name required)</li><li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li><li><a href="#search" class="role-reference"><code>search</code></a></li><li><a href="#searchbox" class="role-reference"><code>searchbox</code></a> (name required)</li><li><a href="#sectionhead" class="role-reference"><code>sectionhead</code></a></li><li><a href="#select" class="role-reference"><code>select</code></a></li><li><a href="#separator" class="role-reference"><code>separator</code></a></li><li><a href="#slider" class="role-reference"><code>slider</code></a> (name required)</li><li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a> (name required)</li><li><a href="#status" class="role-reference"><code>status</code></a></li><li><a href="#switch" class="role-reference"><code>switch</code></a> (name required)</li><li><a href="#tab" class="role-reference"><code>tab</code></a></li><li><a href="#table" class="role-reference"><code>table</code></a> (name required)</li><li><a href="#tablist" class="role-reference"><code>tablist</code></a></li><li><a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> (name required)</li><li><a href="#term" class="role-reference"><code>term</code></a></li><li><a href="#textbox" class="role-reference"><code>textbox</code></a> (name required)</li><li><a href="#time" class="role-reference"><code>time</code></a></li><li><a href="#timer" class="role-reference"><code>timer</code></a></li><li><a href="#toolbar" class="role-reference"><code>toolbar</code></a></li><li><a href="#tooltip" class="role-reference"><code>tooltip</code></a> (name required)</li><li><a href="#tree" class="role-reference"><code>tree</code></a> (name required)</li><li><a href="#treegrid" class="role-reference"><code>treegrid</code></a> (name required)</li><li><a href="#treeitem" class="role-reference"><code>treeitem</code></a> (name required)</li><li><a href="#window" class="role-reference"><code>window</code></a></li></ul> </section> <section id="namefromcontent"><div class="header-wrapper"><h5 id="x5-2-8-5-roles-supporting-name-from-content"><bdi class="secno">5.2.8.5 </bdi>Roles Supporting Name from Content</h5><a class="self-link" href="#namefromcontent" aria-label="Permalink for Section 5.2.8.5"></a></div> <ul id="index_fromcontent" class="compact"><li><a href="#button" class="role-reference"><code>button</code></a> (name required)</li><li><a href="#cell" class="role-reference"><code>cell</code></a></li><li><a href="#checkbox" class="role-reference"><code>checkbox</code></a> (name required)</li><li><a href="#columnheader" class="role-reference"><code>columnheader</code></a> (name required)</li><li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li><li><a href="#heading" class="role-reference"><code>heading</code></a> (name required)</li><li><a href="#link" class="role-reference"><code>link</code></a> (name required)</li><li><a href="#menuitem" class="role-reference"><code>menuitem</code></a> (name required)</li><li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a> (name required)</li><li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a> (name required)</li><li><a href="#option" class="role-reference"><code>option</code></a> (name required)</li><li><a href="#radio" class="role-reference"><code>radio</code></a> (name required)</li><li><a href="#row" class="role-reference"><code>row</code></a></li><li><a href="#rowheader" class="role-reference"><code>rowheader</code></a> (name required)</li><li><a href="#sectionhead" class="role-reference"><code>sectionhead</code></a></li><li><a href="#switch" class="role-reference"><code>switch</code></a> (name required)</li><li><a href="#tab" class="role-reference"><code>tab</code></a></li><li><a href="#tooltip" class="role-reference"><code>tooltip</code></a> (name required)</li><li><a href="#treeitem" class="role-reference"><code>treeitem</code></a> (name required)</li></ul> </section> <section id="namefromprohibited"><div class="header-wrapper"><h5 id="x5-2-8-6-roles-which-cannot-be-named-name-prohibited"><bdi class="secno">5.2.8.6 </bdi>Roles which cannot be named (Name prohibited)</h5><a class="self-link" href="#namefromprohibited" aria-label="Permalink for Section 5.2.8.6"></a></div> <ul id="index_fromprohibited" class="compact"><li><a href="#caption" class="role-reference"><code>caption</code></a></li><li><a href="#code" class="role-reference"><code>code</code></a></li><li><a href="#deletion" class="role-reference"><code>deletion</code></a></li><li><a href="#emphasis" class="role-reference"><code>emphasis</code></a></li><li><a href="#generic" class="role-reference"><code>generic</code></a></li><li><a href="#insertion" class="role-reference"><code>insertion</code></a></li><li><a href="#paragraph" class="role-reference"><code>paragraph</code></a></li><li><a href="#presentation" class="role-reference"><code>presentation</code></a></li><li><a href="#strong" class="role-reference"><code>strong</code></a></li><li><a href="#subscript" class="role-reference"><code>subscript</code></a></li><li><a href="#superscript" class="role-reference"><code>superscript</code></a></li></ul> </section> </section> <section id="childrenArePresentational"><div class="header-wrapper"><h4 id="x5-2-9-presentational-children"><bdi class="secno">5.2.9 </bdi>Presentational Children</h4><a class="self-link" href="#childrenArePresentational" aria-label="Permalink for Section 5.2.9"></a></div> <dl class="runin"> <dt>Values</dt> <dd> <p>Boolean (<code>true</code> | <code>false</code>)</p> </dd> </dl> <p>The <abbr title="Document Object Model">DOM</abbr> descendants are presentational. <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-18">User agents</a> <em class="rfc2119">SHOULD NOT</em> expose descendants of this <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-20">element</a> through the platform <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-17">accessibility <abbr title="Application Programing Interface">API</abbr></a>. If <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-19">user agents</a> do not hide the descendant nodes, some information may be read twice.</p> </section> <section id="implictValueForRole"><div class="header-wrapper"><h4 id="x5-2-10-implicit-value-for-role"><bdi class="secno">5.2.10 </bdi>Implicit Value for Role</h4><a class="self-link" href="#implictValueForRole" aria-label="Permalink for Section 5.2.10"></a></div> <p>Many states and properties have default values. Occasionally, the default value when used on a given role should be different from the usual default. Roles that require a state or property to have a non-standard default value indicate this in the "Implicit Value for Role". This is expressed in the form "Default for <code>state or property name</code> is <code>new default value</code>". Roles that define this have the new default value for the state or property if the author does not provide an explicit value.</p> </section> </section> <section id="roles_categorization"><div class="header-wrapper"><h3 id="x5-3-categorization-of-roles"><bdi class="secno">5.3 </bdi>Categorization of Roles</h3><a class="self-link" href="#roles_categorization" aria-label="Permalink for Section 5.3"></a></div> <p>To support the current user scenario, this specification categorizes <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-24">roles</a> that define user interface <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-11">widgets</a> (sliders, tree controls, etc.) and those that define page structure (sections, navigation, etc.). Note that some assistive technologies provide special modes of interaction for regions marked with role <code>application</code> or <code>document</code>.</p> <p>A visual description of the relationships among roles is available in the <a href="https://www.w3.org/WAI/ARIA/1.2/class-diagram/">ARIA 1.2 Class Diagram</a>.</p> <p>Roles are categorized as follows:</p> <ol> <li><a href="#abstract_roles">Abstract Roles</a></li> <li><a href="#widget_roles">Widget Roles</a></li> <li><a href="#document_structure_roles">Document Structure Roles</a></li> <li><a href="#landmark_roles">Landmark Roles</a></li> <li><a href="#live_region_roles">Live Region Roles</a></li> <li><a href="#window_roles">Window Roles</a></li> </ol> <section id="abstract_roles"><div class="header-wrapper"><h4 id="x5-3-1-abstract-roles"><bdi class="secno">5.3.1 </bdi>Abstract Roles</h4><a class="self-link" href="#abstract_roles" aria-label="Permalink for Section 5.3.1"></a></div> <p>The following <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-25">roles</a> are used to support the <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> Roles Model for the purpose of defining general role concepts.</p> <p>Abstract roles are used for the ontology. Authors <em class="rfc2119">MUST NOT</em> use abstract roles in content.</p> <ul> <li><a href="#command" class="role-reference"><code>command</code></a></li> <li><a href="#composite" class="role-reference"><code>composite</code></a></li> <li><a href="#input" class="role-reference"><code>input</code></a></li> <li><a href="#landmark" class="role-reference"><code>landmark</code></a></li> <li><a href="#range" class="role-reference"><code>range</code></a></li> <li><a href="#roletype" class="role-reference"><code>roletype</code></a></li> <li><a href="#section" class="role-reference"><code>section</code></a></li> <li><a href="#sectionhead" class="role-reference"><code>sectionhead</code></a></li> <li><a href="#select" class="role-reference"><code>select</code></a></li> <li><a href="#structure" class="role-reference"><code>structure</code></a></li> <li><a href="#widget" class="role-reference"><code>widget</code></a></li> <li><a href="#window" class="role-reference"><code>window</code></a></li> </ul> </section> <section id="widget_roles"><div class="header-wrapper"><h4 id="x5-3-2-widget-roles"><bdi class="secno">5.3.2 </bdi>Widget Roles</h4><a class="self-link" href="#widget_roles" aria-label="Permalink for Section 5.3.2"></a></div> <p>The following roles act as standalone user interface widgets or as part of larger, composite widgets.</p> <ul> <li><a href="#button" class="role-reference"><code>button</code></a></li> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#link" class="role-reference"><code>link</code></a></li> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> <li><a href="#progressbar" class="role-reference"><code>progressbar</code></a></li> <li><a href="#radio" class="role-reference"><code>radio</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a> (when focusable)</li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> <li><a href="#tabpanel" class="role-reference"><code>tabpanel</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> <p>The following roles act as composite user interface widgets. These roles typically act as containers that manage other, contained widgets.</p> <ul> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#menu" class="role-reference"><code>menu</code></a></li> <li><a href="#menubar" class="role-reference"><code>menubar</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#tablist" class="role-reference"><code>tablist</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </section> <section id="document_structure_roles"><div class="header-wrapper"><h4 id="x5-3-3-document-structure-roles"><bdi class="secno">5.3.3 </bdi>Document Structure Roles</h4><a class="self-link" href="#document_structure_roles" aria-label="Permalink for Section 5.3.3"></a></div> <p>The following <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-26">roles</a> describe structures that organize content in a page. Document structures are not usually interactive.</p> <ul> <li><a href="#application" class="role-reference"><code>application</code></a></li> <li><a href="#article" class="role-reference"><code>article</code></a></li> <li><a href="#blockquote" class="role-reference"><code>blockquote</code></a></li> <li><a href="#caption" class="role-reference"><code>caption</code></a></li> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#definition" class="role-reference"><code>definition</code></a></li> <li><a href="#deletion" class="role-reference"><code>deletion</code></a></li> <li><a href="#directory" class="role-reference"><code>directory</code></a></li> <li><a href="#document" class="role-reference"><code>document</code></a></li> <li><a href="#emphasis" class="role-reference"><code>emphasis</code></a></li> <li><a href="#feed" class="role-reference"><code>feed</code></a></li> <li><a href="#figure" class="role-reference"><code>figure</code></a></li> <li><a href="#generic" class="role-reference"><code>generic</code></a></li> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#heading" class="role-reference"><code>heading</code></a></li> <li><a href="#img" class="role-reference"><code>img</code></a></li> <li><a href="#insertion" class="role-reference"><code>insertion</code></a></li> <li><a href="#list" class="role-reference"><code>list</code></a></li> <li><a href="#listitem" class="role-reference"><code>listitem</code></a></li> <li><a href="#math" class="role-reference"><code>math</code></a></li> <li><a href="#meter" class="role-reference"><code>meter</code></a></li> <li><a href="#none" class="role-reference"><code>none</code></a></li> <li><a href="#note" class="role-reference"><code>note</code></a></li> <li><a href="#paragraph" class="role-reference"><code>paragraph</code></a></li> <li><a href="#presentation" class="role-reference"><code>presentation</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#rowgroup" class="role-reference"><code>rowgroup</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a> (when not focusable)</li> <li><a href="#strong" class="role-reference"><code>strong</code></a></li> <li><a href="#subscript" class="role-reference"><code>subscript</code></a></li> <li><a href="#superscript" class="role-reference"><code>superscript</code></a></li> <li><a href="#table" class="role-reference"><code>table</code></a></li> <li><a href="#term" class="role-reference"><code>term</code></a></li> <li><a href="#time" class="role-reference"><code>time</code></a></li> <li><a href="#toolbar" class="role-reference"><code>toolbar</code></a></li> <li><a href="#tooltip" class="role-reference"><code>tooltip</code></a></li> </ul> </section> <section id="landmark_roles"><div class="header-wrapper"><h4 id="x5-3-4-landmark-roles"><bdi class="secno">5.3.4 </bdi>Landmark Roles</h4><a class="self-link" href="#landmark_roles" aria-label="Permalink for Section 5.3.4"></a></div> <p>The following <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-27">roles</a> are regions of the page intended as navigational <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-2">landmarks</a>. All of these roles inherit from the <code>landmark</code> base type and all are imported from the <cite><a href="https://www.w3.org/TR/role-attribute/#s_role_module_attributes">Role Attribute</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-role-attribute" title="Role Attribute 1.0">ROLE-ATTRIBUTE</a></cite>]. The roles are included here in order to make them clearly part of the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Roles Model.</p> <ul> <li><a href="#banner" class="role-reference"><code>banner</code></a></li> <li><a href="#complementary" class="role-reference"><code>complementary</code></a></li> <li><a href="#contentinfo" class="role-reference"><code>contentinfo</code></a></li> <li><a href="#form" class="role-reference"><code>form</code></a></li> <li><a href="#main" class="role-reference"><code>main</code></a></li> <li><a href="#navigation" class="role-reference"><code>navigation</code></a></li> <li><a href="#region" class="role-reference"><code>region</code></a></li> <li><a href="#search" class="role-reference"><code>search</code></a></li> </ul> </section> <section id="live_region_roles"><div class="header-wrapper"><h4 id="x5-3-5-live-region-roles"><bdi class="secno">5.3.5 </bdi>Live Region Roles</h4><a class="self-link" href="#live_region_roles" aria-label="Permalink for Section 5.3.5"></a></div> <p>The following <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-28">roles</a> are <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-1">live regions</a> and may be modified by <a href="#attrs_liveregions">live region attributes</a>.</p> <ul> <li><a href="#alert" class="role-reference"><code>alert</code></a></li> <li><a href="#log" class="role-reference"><code>log</code></a></li> <li><a href="#marquee" class="role-reference"><code>marquee</code></a></li> <li><a href="#status" class="role-reference"><code>status</code></a></li> <li><a href="#timer" class="role-reference"><code>timer</code></a></li> </ul> </section> <section id="window_roles"><div class="header-wrapper"><h4 id="x5-3-6-window-roles"><bdi class="secno">5.3.6 </bdi>Window Roles</h4><a class="self-link" href="#window_roles" aria-label="Permalink for Section 5.3.6"></a></div> <p>The following <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-29">roles</a> act as windows within the browser or application.</p> <ul> <li><a href="#alertdialog" class="role-reference"><code>alertdialog</code></a></li> <li><a href="#dialog" class="role-reference"><code>dialog</code></a></li> </ul> </section> </section> <section id="role_definitions"><div class="header-wrapper"><h3 id="x5-4-definition-of-roles"><bdi class="secno">5.4 </bdi>Definition of Roles</h3><a class="self-link" href="#role_definitions" aria-label="Permalink for Section 5.4"></a></div> <p>Below is an alphabetical list of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-30">roles</a> to be used by authors.</p> <p>Abstract roles are used for the ontology. Authors <em class="rfc2119">MUST NOT</em> use abstract roles in content.</p> <dl id="index_role" class="compact"><dt><a href="#alert" class="role-reference"><code>alert</code></a></dt> <dd>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn">live region</a> with important, and usually time-sensitive, information. See related <a href="#alertdialog" class="role-reference"><code>alertdialog</code></a> and <a href="#status" class="role-reference"><code>status</code></a>.</dd> <dt><a href="#alertdialog" class="role-reference"><code>alertdialog</code></a></dt> <dd>A type of dialog that contains an alert message, where initial focus goes to an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> within the dialog. See related <a href="#alert" class="role-reference"><code>alert</code></a> and <a href="#dialog" class="role-reference"><code>dialog</code></a>.</dd> <dt><a href="#application" class="role-reference"><code>application</code></a></dt> <dd>A <a href="#structure" class="role-reference"><code>structure</code></a> containing one or more focusable elements requiring user input, such as keyboard or gesture events, that do not follow a standard interaction pattern supported by a <a href="#widget" class="role-reference"><code>widget</code></a> role.</dd> <dt><a href="#article" class="role-reference"><code>article</code></a></dt> <dd>A section of a page that consists of a composition that forms an independent part of a document, page, or site.</dd> <dt><a href="#banner" class="role-reference"><code>banner</code></a></dt> <dd>A <a href="#landmark" class="role-reference"><code>landmark</code></a> that contains mostly site-oriented content, rather than page-specific content.</dd> <dt><a href="#blockquote" class="role-reference"><code>blockquote</code></a></dt> <dd>A section of content that is quoted from another source.</dd> <dt><a href="#button" class="role-reference"><code>button</code></a></dt> <dd>An input that allows for user-triggered actions when clicked or pressed. See related <a href="#link" class="role-reference"><code>link</code></a>.</dd> <dt><a href="#caption" class="role-reference"><code>caption</code></a></dt> <dd>Visible content that names, and may also describe, a <a href="#figure" class="role-reference"><code>figure</code></a>, <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</dd> <dt><a href="#cell" class="role-reference"><code>cell</code></a></dt> <dd>A cell in a tabular container. See related <a href="#gridcell" class="role-reference"><code>gridcell</code></a>.</dd> <dt><a href="#checkbox" class="role-reference"><code>checkbox</code></a></dt> <dd>A checkable input that has three possible <span>values</span>: <code>true</code>, <code>false</code>, or <code>mixed</code>.</dd> <dt><a href="#code" class="role-reference"><code>code</code></a></dt> <dd>A section whose content represents a fragment of computer code.</dd> <dt><a href="#columnheader" class="role-reference"><code>columnheader</code></a></dt> <dd>A cell containing header information for a column.</dd> <dt><a href="#combobox" class="role-reference"><code>combobox</code></a></dt> <dd>An <a href="#input" class="role-reference"><code>input</code></a> that controls another element, such as a <a href="#listbox" class="role-reference"><code>listbox</code></a> or <a href="#grid" class="role-reference"><code>grid</code></a>, that can dynamically pop up to help the user set the value of the <a href="#input" class="role-reference"><code>input</code></a>.</dd> <dt><a href="#command" class="role-reference"><code>command</code></a></dt> <dd>A form of widget that performs an action but does not receive input data.</dd> <dt><a href="#complementary" class="role-reference"><code>complementary</code></a></dt> <dd>A <a href="#landmark" class="role-reference"><code>landmark</code></a> that is designed to be complementary to the main content at a similar level in the <abbr title="Document Object Model">DOM</abbr> hierarchy, but remaining meaningful when separated from the main content.</dd> <dt><a href="#composite" class="role-reference"><code>composite</code></a></dt> <dd>A <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widget</a> that may contain navigable descendants or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn">owned</a> children.</dd> <dt><a href="#contentinfo" class="role-reference"><code>contentinfo</code></a></dt> <dd>A <a href="#landmark" class="role-reference"><code>landmark</code></a> that contains information about the parent document.</dd> <dt><a href="#definition" class="role-reference"><code>definition</code></a></dt> <dd>A definition of a term or concept. See related <a href="#term" class="role-reference"><code>term</code></a>.</dd> <dt><a href="#deletion" class="role-reference"><code>deletion</code></a></dt> <dd>A deletion contains content that is marked as removed or content that is being suggested for removal. See related <a href="#insertion" class="role-reference"><code>insertion</code></a>.</dd> <dt><a href="#dialog" class="role-reference"><code>dialog</code></a></dt> <dd>A dialog is a descendant window of the primary window of a web application. For <abbr title="Hypertext Markup Language">HTML</abbr> pages, the primary application window is the entire web document, i.e., the <code>body</code> element.</dd> <dt><a href="#directory" class="role-reference"><code>directory</code></a></dt> <dd>[Deprecated in ARIA 1.2] A list of references to members of a group, such as a static table of contents.</dd> <dt><a href="#document" class="role-reference"><code>document</code></a></dt> <dd>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> containing content that <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn">assistive technology</a> users may want to browse in a reading mode.</dd> <dt><a href="#emphasis" class="role-reference"><code>emphasis</code></a></dt> <dd>One or more emphasized characters. See related <a href="#strong" class="role-reference"><code>strong</code></a>.</dd> <dt><a href="#feed" class="role-reference"><code>feed</code></a></dt> <dd>A scrollable <a href="#list" class="role-reference"><code>list</code></a> of <a href="#article" class="role-reference"><code>articles</code></a> where scrolling may cause <a href="#article" class="role-reference"><code>articles</code></a> to be added to or removed from either end of the list.</dd> <dt><a href="#figure" class="role-reference"><code>figure</code></a></dt> <dd>A perceivable <a href="#section" class="role-reference"><code>section</code></a> of content that typically contains a <a href="#dfn-graphical-document" class="internalDFN" data-link-type="dfn">graphical document</a>, images, code snippets, or example text. The parts of a <code>figure</code> <em class="rfc2119">MAY</em> be user-navigable.</dd> <dt><a href="#form" class="role-reference"><code>form</code></a></dt> <dd>A <a href="#landmark" class="role-reference"><code>landmark</code></a> region that contains a collection of items and objects that, as a whole, combine to create a form. See related <a href="#search" class="role-reference"><code>search</code></a>.</dd> <dt><a href="#generic" class="role-reference"><code>generic</code></a></dt> <dd>A nameless container <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> that has no semantic meaning on its own.</dd> <dt><a href="#grid" class="role-reference"><code>grid</code></a></dt> <dd>A composite <a href="#widget" class="role-reference"><code>widget</code></a> containing a collection of one or more rows with one or more cells where some or all cells in the grid are focusable by using methods of two-dimensional navigation, such as directional arrow keys.</dd> <dt><a href="#gridcell" class="role-reference"><code>gridcell</code></a></dt> <dd>A <a href="#cell" class="role-reference"><code>cell</code></a> in a <a href="#grid" class="role-reference"><code>grid</code></a> or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</dd> <dt><a href="#group" class="role-reference"><code>group</code></a></dt> <dd>A set of user interface <a href="#dfn-object" class="internalDFN" data-link-type="dfn">objects</a> that is not intended to be included in a page summary or table of contents by <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn">assistive technologies</a>.</dd> <dt><a href="#heading" class="role-reference"><code>heading</code></a></dt> <dd>A heading for a section of the page.</dd> <dt><a href="#img" class="role-reference"><code>img</code></a></dt> <dd>A container for a collection of <a href="#dfn-element" class="internalDFN" data-link-type="dfn">elements</a> that form an image.</dd> <dt><a href="#input" class="role-reference"><code>input</code></a></dt> <dd>A generic type of <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widget</a> that allows user input.</dd> <dt><a href="#insertion" class="role-reference"><code>insertion</code></a></dt> <dd>An insertion contains content that is marked as added or content that is being suggested for addition. See related <a href="#deletion" class="role-reference"><code>deletion</code></a>.</dd> <dt><a href="#landmark" class="role-reference"><code>landmark</code></a></dt> <dd>A perceivable <a href="#section" class="role-reference"><code>section</code></a> containing content that is relevant to a specific, author-specified purpose and sufficiently important that users will likely want to be able to navigate to the section easily and to have it listed in a summary of the page. Such a page summary could be generated dynamically by a user agent or assistive technology.</dd> <dt><a href="#link" class="role-reference"><code>link</code></a></dt> <dd>An interactive reference to an internal or external resource that, when activated, causes the user agent to navigate to that resource. See related <a href="#button" class="role-reference"><code>button</code></a>.</dd> <dt><a href="#list" class="role-reference"><code>list</code></a></dt> <dd>A <a href="#section" class="role-reference"><code>section</code></a> containing <a href="#listitem" class="role-reference"><code>listitem</code></a> elements. See related <a href="#listbox" class="role-reference"><code>listbox</code></a>.</dd> <dt><a href="#listbox" class="role-reference"><code>listbox</code></a></dt> <dd>A <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widget</a> that allows the user to select one or more items from a list of choices. See related <a href="#combobox" class="role-reference"><code>combobox</code></a> and <a href="#list" class="role-reference"><code>list</code></a>.</dd> <dt><a href="#listitem" class="role-reference"><code>listitem</code></a></dt> <dd>A single item in a list or directory.</dd> <dt><a href="#log" class="role-reference"><code>log</code></a></dt> <dd>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn">live region</a> where new information is added in meaningful order and old information may disappear. See related <a href="#marquee" class="role-reference"><code>marquee</code></a>.</dd> <dt><a href="#main" class="role-reference"><code>main</code></a></dt> <dd>A <a href="#landmark" class="role-reference"><code>landmark</code></a> containing the main content of a document.</dd> <dt><a href="#marquee" class="role-reference"><code>marquee</code></a></dt> <dd>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn">live region</a> where non-essential information changes frequently. See related <a href="#log" class="role-reference"><code>log</code></a>.</dd> <dt><a href="#math" class="role-reference"><code>math</code></a></dt> <dd>Content that represents a mathematical expression.</dd> <dt><a href="#meter" class="role-reference"><code>meter</code></a></dt> <dd>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> that represents a scalar measurement within a known range, or a fractional value. See related <a href="#progressbar" class="role-reference"><code>progressbar</code></a>.</dd> <dt><a href="#menu" class="role-reference"><code>menu</code></a></dt> <dd>A type of <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widget</a> that offers a list of choices to the user.</dd> <dt><a href="#menubar" class="role-reference"><code>menubar</code></a></dt> <dd>A presentation of <a href="#menu" class="role-reference"><code>menu</code></a> that usually remains visible and is usually presented horizontally.</dd> <dt><a href="#menuitem" class="role-reference"><code>menuitem</code></a></dt> <dd>An option in a set of choices contained by a <a href="#menu" class="role-reference"><code>menu</code></a> or <a href="#menubar" class="role-reference"><code>menubar</code></a>.</dd> <dt><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></dt> <dd>A <a href="#menuitem" class="role-reference"><code>menuitem</code></a> with a checkable state whose possible <span>values</span> are <code>true</code>, <code>false</code>, or <code>mixed</code>.</dd> <dt><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></dt> <dd>A checkable <a href="#menuitem" class="role-reference"><code>menuitem</code></a> in a set of elements with the same role, only one of which can be checked at a time.</dd> <dt><a href="#navigation" class="role-reference"><code>navigation</code></a></dt> <dd>A <a href="#landmark" class="role-reference"><code>landmark</code></a> containing a collection of navigational <a href="#dfn-element" class="internalDFN" data-link-type="dfn">elements</a> (usually links) for navigating the document or related documents.</dd> <dt><a href="#none" class="role-reference"><code>none</code></a></dt> <dd>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> whose implicit native role semantics will not be mapped to the <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn">accessibility <abbr title="Application Programing Interfaces">API</abbr></a>. See synonym <a href="#presentation" class="role-reference"><code>presentation</code></a>.</dd> <dt><a href="#note" class="role-reference"><code>note</code></a></dt> <dd>A section whose content is parenthetic or ancillary to the main content of the resource.</dd> <dt><a href="#option" class="role-reference"><code>option</code></a></dt> <dd>A selectable item in a <a href="#listbox" class="role-reference"><code>listbox</code></a>.</dd> <dt><a href="#paragraph" class="role-reference"><code>paragraph</code></a></dt> <dd>A paragraph of content.</dd> <dt><a href="#presentation" class="role-reference"><code>presentation</code></a></dt> <dd>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> whose implicit native role semantics will not be mapped to the <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn">accessibility <abbr title="Application Programing Interfaces">API</abbr></a>. See synonym <a href="#none" class="role-reference"><code>none</code></a>.</dd> <dt><a href="#progressbar" class="role-reference"><code>progressbar</code></a></dt> <dd>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> that displays the progress status for tasks that take a long time.</dd> <dt><a href="#radio" class="role-reference"><code>radio</code></a></dt> <dd>A checkable input in a group of elements with the same role, only one of which can be checked at a time.</dd> <dt><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></dt> <dd>A group of <a href="#radio" class="role-reference"><code>radio</code></a> buttons.</dd> <dt><a href="#range" class="role-reference"><code>range</code></a></dt> <dd>An element representing a range of values.</dd> <dt><a href="#region" class="role-reference"><code>region</code></a></dt> <dd>A <a href="#landmark" class="role-reference"><code>landmark</code></a> containing content that is relevant to a specific, author-specified purpose and sufficiently important that users will likely want to be able to navigate to the section easily and to have it listed in a summary of the page. Such a page summary could be generated dynamically by a user agent or assistive technology.</dd> <dt><a href="#roletype" class="role-reference"><code>roletype</code></a></dt> <dd>The base <a href="#dfn-role" class="internalDFN" data-link-type="dfn">role</a> from which all other roles inherit.</dd> <dt><a href="#row" class="role-reference"><code>row</code></a></dt> <dd>A row of cells in a tabular container.</dd> <dt><a href="#rowgroup" class="role-reference"><code>rowgroup</code></a></dt> <dd>A structure containing one or more row elements in a tabular container.</dd> <dt><a href="#rowheader" class="role-reference"><code>rowheader</code></a></dt> <dd>A cell containing header information for a row.</dd> <dt><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></dt> <dd>A graphical object that controls the scrolling of content within a viewing area, regardless of whether the content is fully displayed within the viewing area.</dd> <dt><a href="#search" class="role-reference"><code>search</code></a></dt> <dd>A <a href="#landmark" class="role-reference"><code>landmark</code></a> region that contains a collection of items and objects that, as a whole, combine to create a search facility. See related <a href="#form" class="role-reference"><code>form</code></a> and <a href="#searchbox" class="role-reference"><code>searchbox</code></a>.</dd> <dt><a href="#searchbox" class="role-reference"><code>searchbox</code></a></dt> <dd>A type of textbox intended for specifying search criteria. See related <a href="#textbox" class="role-reference"><code>textbox</code></a> and <a href="#search" class="role-reference"><code>search</code></a>.</dd> <dt><a href="#section" class="role-reference"><code>section</code></a></dt> <dd>A renderable structural containment unit in a document or application.</dd> <dt><a href="#sectionhead" class="role-reference"><code>sectionhead</code></a></dt> <dd>A structure that labels or summarizes the topic of its related section.</dd> <dt><a href="#select" class="role-reference"><code>select</code></a></dt> <dd>A form widget that allows the user to make selections from a set of choices.</dd> <dt><a href="#separator" class="role-reference"><code>separator</code></a></dt> <dd>A divider that separates and distinguishes sections of content or groups of menuitems.</dd> <dt><a href="#slider" class="role-reference"><code>slider</code></a></dt> <dd>An input where the user selects a value from within a given range.</dd> <dt><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></dt> <dd>A form of <a href="#range" class="role-reference"><code>range</code></a> that expects the user to select from among discrete choices.</dd> <dt><a href="#status" class="role-reference"><code>status</code></a></dt> <dd>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn">live region</a> whose content is advisory information for the user but is not important enough to justify an <a href="#alert" class="role-reference"><code>alert</code></a>, often but not necessarily presented as a status bar.</dd> <dt><a href="#strong" class="role-reference"><code>strong</code></a></dt> <dd>Content that is important, serious, or urgent. See related <a href="#emphasis" class="role-reference"><code>emphasis</code></a>.</dd> <dt><a href="#structure" class="role-reference"><code>structure</code></a></dt> <dd>A document structural <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a>.</dd> <dt><a href="#subscript" class="role-reference"><code>subscript</code></a></dt> <dd>One or more subscripted characters. See related <a href="#superscript" class="role-reference"><code>superscript</code></a>.</dd> <dt><a href="#superscript" class="role-reference"><code>superscript</code></a></dt> <dd>One or more superscripted characters. See related <a href="#superscript" class="role-reference"><code>superscript</code></a>.</dd> <dt><a href="#switch" class="role-reference"><code>switch</code></a></dt> <dd>A type of checkbox that represents on/off values, as opposed to checked/unchecked values. See related <a href="#checkbox" class="role-reference"><code>checkbox</code></a>.</dd> <dt><a href="#tab" class="role-reference"><code>tab</code></a></dt> <dd>A grouping label providing a mechanism for selecting the tab content that is to be rendered to the user.</dd> <dt><a href="#table" class="role-reference"><code>table</code></a></dt> <dd>A <a href="#section" class="role-reference"><code>section</code></a> containing data arranged in rows and columns. See related <a href="#grid" class="role-reference"><code>grid</code></a>.</dd> <dt><a href="#tablist" class="role-reference"><code>tablist</code></a></dt> <dd>A list of <a href="#tab" class="role-reference"><code>tab</code></a> <a href="#dfn-element" class="internalDFN" data-link-type="dfn">elements</a>, which are references to <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> elements.</dd> <dt><a href="#tabpanel" class="role-reference"><code>tabpanel</code></a></dt> <dd>A container for the resources associated with a <a href="#tab" class="role-reference"><code>tab</code></a>, where each <a href="#tab" class="role-reference"><code>tab</code></a> is contained in a <a href="#tablist" class="role-reference"><code>tablist</code></a>.</dd> <dt><a href="#term" class="role-reference"><code>term</code></a></dt> <dd>A word or phrase with a corresponding definition. See related <a href="#definition" class="role-reference"><code>definition</code></a>.</dd> <dt><a href="#textbox" class="role-reference"><code>textbox</code></a></dt> <dd>A type of input that allows free-form text as its value.</dd> <dt><a href="#time" class="role-reference"><code>time</code></a></dt> <dd>An element that represents a specific point in time.</dd> <dt><a href="#timer" class="role-reference"><code>timer</code></a></dt> <dd>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn">live region</a> containing a numerical counter which indicates an amount of elapsed time from a start point, or the time remaining until an end point.</dd> <dt><a href="#toolbar" class="role-reference"><code>toolbar</code></a></dt> <dd>A collection of commonly used function buttons or controls represented in compact visual form.</dd> <dt><a href="#tooltip" class="role-reference"><code>tooltip</code></a></dt> <dd>A contextual popup that displays a description for an element.</dd> <dt><a href="#tree" class="role-reference"><code>tree</code></a></dt> <dd>A <a href="#widget" class="role-reference"><code>widget</code></a> that allows the user to select one or more items from a hierarchically organized collection.</dd> <dt><a href="#treegrid" class="role-reference"><code>treegrid</code></a></dt> <dd>A <a href="#grid" class="role-reference"><code>grid</code></a> whose rows can be expanded and collapsed in the same manner as for a <a href="#tree" class="role-reference"><code>tree</code></a>.</dd> <dt><a href="#treeitem" class="role-reference"><code>treeitem</code></a></dt> <dd>An option item of a <a href="#tree" class="role-reference"><code>tree</code></a>. This is an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> within a tree that may be expanded or collapsed if it contains a sub-level group of tree item elements.</dd> <dt><a href="#widget" class="role-reference"><code>widget</code></a></dt> <dd>An interactive component of a graphical user interface (<abbr title="Graphical User Interface">GUI</abbr>).</dd> <dt><a href="#window" class="role-reference"><code>window</code></a></dt> <dd>A browser or application window.</dd> </dl> <section class="role notoc" id="alert"> <h4 class="role-name" title="alert" aria-describedby="desc-alert"><code>alert</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-alert" role="definition"> <p>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-2">live region</a> with important, and usually time-sensitive, information. See related <a href="#alertdialog" class="role-reference"><code>alertdialog</code></a> and <a href="#status" class="role-reference"><code>status</code></a>.</p> <p>Alerts are used to convey messages that may be immediately important to users. In the case of audio warnings, alerts provide an accessible alternative for hearing-impaired users. The <code>alert</code> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-31">role</a> is applied to the element containing the alert message. An <code>alert</code> is a specialized form of the <a href="#status" class="role-reference"><code>status</code></a> role, which is processed as an atomic <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-3">live region</a>.</p> <p>Alerts are assertive live regions, which means they cause immediate notification for assistive technology users. If the operating system allows, the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-20">user agent</a> <em class="rfc2119">SHOULD</em> fire a system alert <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-7">event</a> through the accessibility <abbr title="application programming interface">API</abbr> when the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> alert is created.</p> <p>Neither authors nor user agents are required to set or manage focus to an alert in order for it to be processed. Since alerts are not required to receive focus, authors <em class="rfc2119">SHOULD NOT</em> require users to close an alert. If an author desires focus to move to a message when it is conveyed, the author <em class="rfc2119">SHOULD</em> use <a href="#alertdialog" class="role-reference"><code>alertdialog</code></a> instead of <code>alert</code>.</p> <p>Elements with the role <code>alert</code> have an implicit <a href="#aria-live" class="property-reference"><code>aria-live</code></a> value of <code>assertive</code>, and an implicit <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a> value of <code>true</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#alertdialog" class="role-reference"><code>alertdialog</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="implicit-values-head">Implicit Value for Role:</th> <td class="implicit-values"> Default for <a href="#aria-live" class="property-reference"><code>aria-live</code></a> is <code class="default">assertive</code>.<br> Default for <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a> is <code class="default">true</code>. </td> </tr> </tbody> </table> </section> <section class="role notoc" id="alertdialog"> <h4 class="role-name" title="alertdialog" aria-describedby="desc-alertdialog"><code>alertdialog</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-alertdialog" role="definition"> <p>A type of dialog that contains an alert message, where initial focus goes to an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-21">element</a> within the dialog. See related <a href="#alert" class="role-reference"><code>alert</code></a> and <a href="#dialog" class="role-reference"><code>dialog</code></a>.</p> <p>Alert dialogs are used to convey messages to alert the user. The <code>alertdialog</code> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-32">role</a> goes on the node containing both the alert message and the rest of the dialog. Content authors <em class="rfc2119">SHOULD</em> make alert dialogs modal by ensuring that, while the <code>alertdialog</code> is shown, keyboard and mouse interactions only operate within the dialog. See <a href="#aria-modal" class="property-reference"><code>aria-modal</code></a>.</p> <p>Unlike <a href="#alert" class="role-reference"><code>alert</code></a>, <code>alertdialog</code> can receive a response from the user. For example, to confirm that the user understands the alert being generated. When the alert dialog is displayed, authors <em class="rfc2119">SHOULD</em> set focus to an active element within the alert dialog, such as a form control or confirmation button. The <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-21">user agent</a> <em class="rfc2119">SHOULD</em> fire a system alert <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-8">event</a> through the accessibility <abbr title="application programming interface">API</abbr> when the alert is created, provided one is specified by the intended <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-18">accessibility <abbr title="Application Programing Interfaces">API</abbr></a>.</p> <p>Authors <em class="rfc2119">SHOULD</em> use <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> on an <code>alertdialog</code> to reference the alert message element in the dialog. If they do not, an <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-17">assistive technology</a> can resort to its internal recovery mechanism to determine the contents of the alert message.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#alert" class="role-reference"><code>alert</code></a></li> <li><a href="#dialog" class="role-reference"><code>dialog</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-modal" class="property-reference"><code>aria-modal</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="application"> <h4 class="role-name" title="application" aria-describedby="desc-application"><code>application</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-application" role="definition"> <p>A <a href="#structure" class="role-reference"><code>structure</code></a> containing one or more focusable elements requiring user input, such as keyboard or gesture events, that do not follow a standard interaction pattern supported by a <a href="#widget" class="role-reference"><code>widget</code></a> role.</p> <p>Some <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-22">user agents</a> and <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-18">assistive technologies</a> have a browse mode where standard input events, such as up and down arrow key events, are intercepted and used to control a reading cursor. This browse mode behavior prevents elements that do not have a <a href="#widget" class="role-reference"><code>widget</code></a> role from receiving and using such keyboard and gesture events to provide interactive functionality.</p> <p>When there is a need to create an element with an interaction model that is not supported by any of the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#widget" class="role-reference"><code>widget</code></a> roles, authors <em class="rfc2119">MAY</em> give that element role <code>application</code>. And, when a user navigates into an element with role <code>application</code>, <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-19">assistive technologies</a> that intercept standard input events <em class="rfc2119">SHOULD</em> switch to a mode that passes most or all standard input events through to the web application.</p> <p>For example, a presentation slide editor uses arrow keys to change the positions of textbox and image elements on the slide. There are not any <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> <a href="#widget" class="role-reference"><code>widget</code></a> roles that correspond to such an interaction model so an author could give the slide container role <code>application</code>, an <a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a> of "Slide Editor", and use <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> to provide instructions.</p> <p> Because only the focusable elements contained in an <code>application</code> element are accessible to users of some assistive technologies, authors <em class="rfc2119">MUST</em> use one of the following techniques to ensure all non-decorative static text or image content inside an application is accessible:</p> <ol> <li>Associate the content with a focusable element using <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> or <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>.</li> <li>Place the content in a focusable element that has role <a href="#document" class="role-reference"><code>document</code></a> or <a href="#article" class="role-reference"><code>article</code></a>.</li> <li>Manage focus of <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-11">owned</a> elements as described in <a href="#managingfocus">Managing Focus</a>, updating the value of <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> to reference the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-22">element</a> containing the focused content.</li> </ol> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#structure" class="role-reference"><code>structure</code></a></td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="article"> <h4 class="role-name" title="article" aria-describedby="desc-article"><code>article</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-article" role="definition"> <p>A section of a page that consists of a composition that forms an independent part of a document, page, or site.</p> <p>An article is not a navigational <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-3">landmark</a>, but may be nested to form a discussion where assistive technologies could pay attention to article nesting to assist the user in following the discussion. An article could be a forum post, a magazine or newspaper article, a web log entry, a user-submitted comment, or any other independent item of content. It is <em>independent</em> in that its contents could stand alone, for example in syndication. However, the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-23">element</a> is still associated with its ancestors; for instance, contact information that applies to a parent body element still covers the article as well. When nesting articles, the child articles represent content that is related to the content of the parent article. For instance, a web log entry on a site that accepts user-submitted comments could represent the comments as articles nested within the article for the web log entry. Author, heading, date, or other information associated with an article does not apply to nested articles.</p> <p>When the user navigates to an element assigned the role of <code>article</code>, <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-20">assistive technologies</a> that typically intercept standard keyboard events <em class="rfc2119">SHOULD</em> switch to document browsing mode, as opposed to passing keyboard events through to the web application. Assistive technologies <em class="rfc2119">MAY</em> provide a feature allowing the user to navigate the hierarchy of any nested <code>article</code> elements.</p> <p>When an <code>article</code> is in the context of a <a href="#feed" class="role-reference"><code>feed</code></a>, the author <em class="rfc2119">MAY</em> specify values for <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a> and <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#document" class="role-reference"><code>document</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><article></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="banner"> <h4 class="role-name" title="banner" aria-describedby="desc-banner"><code>banner</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-banner" role="definition"> <p>A <a href="#landmark" class="role-reference"><code>landmark</code></a> that contains mostly site-oriented content, rather than page-specific content.</p> <p>Site-oriented content typically includes things such as the logo or identity of the site sponsor, and a site-specific search tool. A banner usually appears at the top of the page and typically spans the full width.</p> <p>User agents <em class="rfc2119">SHOULD</em> treat elements with the role of <code>banner</code> as navigational <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-4">landmarks</a>.</p> <p>Within any <a href="#document" class="role-reference"><code>document</code></a> or <a href="#application" class="role-reference"><code>application</code></a>, the author <em class="rfc2119">SHOULD</em> mark no more than one <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-24">element</a> with the <code>banner</code> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-33">role</a>.</p> <div class="note" role="note" id="issue-container-generatedID-10"><div role="heading" class="note-title marker" id="h-note-10" aria-level="4"><span>Note</span></div><p class="">Because <code>document</code> and <code>application</code> elements can be nested in the <abbr title="Document Object Model">DOM</abbr>, they may have multiple <code>banner</code> elements as <abbr title="Document Object Model">DOM</abbr> descendants, assuming each of those is associated with different document nodes, either by a <abbr title="Document Object Model">DOM</abbr> nesting (e.g., <a href="#document" class="role-reference"><code>document</code></a> within <a href="#document" class="role-reference"><code>document</code></a>) or by use of the <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-10">attribute</a>.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#landmark" class="role-reference"><code>landmark</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="blockquote"> <h4 class="role-name" title="blockquote" aria-describedby="desc-blockquote"><code>blockquote</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-blockquote" role="definition"> <p>A section of content that is quoted from another source.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><blockquote></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="button"> <h4 class="role-name" title="button" aria-describedby="desc-button"><code>button</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-button" role="definition"> <p>An input that allows for user-triggered actions when clicked or pressed. See related <a href="#link" class="role-reference"><code>link</code></a>.</p> <p>Buttons are mostly used for discrete actions. Standardizing the appearance of buttons enhances the user's recognition of the <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-12">widgets</a> as buttons and allows for a more compact display in toolbars.</p> <p>Buttons support the optional <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-11">attribute</a> <a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a>. Buttons with a non-empty <a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a> attribute are toggle buttons. When <a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a> is <code>true</code> the button is in a "pressed" <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-16">state</a>, when <a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a> is <code>false</code> it is not pressed. If the attribute is not present, the button is a simple command button.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#command" class="role-reference"><code>command</code></a></td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><button></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <a href="#link" class="role-reference"><code>link</code></a> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="caption"> <h4 class="role-name" title="caption" aria-describedby="desc-caption"><code>caption</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-caption" role="definition"> <p>Visible content that names, and may also describe, a <a href="#figure" class="role-reference"><code>figure</code></a>, <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p> <p>When using <code>caption</code> authors <em class="rfc2119">SHOULD</em> ensure:</p> <ul> <li>The <code>caption</code> is a direct child of a <a href="#figure" class="role-reference"><code>figure</code></a>, <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</li> <li>The <code>caption</code> is the first child of a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</li> <li>The <code>caption</code> is the first or last child of a <a href="#figure" class="role-reference"><code>figure</code></a>.</li> </ul> <p>Authors <em class="rfc2119">SHOULD</em> set <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> on the parent <code>figure</code>, <code>table</code>, <code>grid</code>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a> to reference the element with role <code>caption</code>. However, if a <code>caption</code> contains content that serves as both a name and description for its parent, authors <em class="rfc2119">MAY</em> instead set <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> to reference an element within the <code>caption</code> that contains a concise name, and set <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> to reference an element within the <code>caption</code> that contains the descriptive content.</p> <div class="example" id="example-5"> <div class="marker"> <a class="self-link" href="#example-5">Example<bdi> 5</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"table"</span> <span class="hljs-attr">aria-labelledby</span>=<span class="hljs-string">"name"</span> <span class="hljs-attr">aria-describedby</span>=<span class="hljs-string">"desc"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"caption"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"name"</span>></span>Contest Entrants<span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"desc"</span>></span> This table shows the total number of entrants (500) the contest accepted over the past four weeks. <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-comment"><!-- ... --></span></code></pre> </div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><caption></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] <br> <code><figcaption></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"> <ul> <li><a href="#figure" class="role-reference"><code>figure</code></a></li> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#table" class="role-reference"><code>table</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="cell"> <h4 class="role-name" title="cell" aria-describedby="desc-cell"><code>cell</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-cell" role="definition"> <p>A cell in a tabular container. See related <a href="#gridcell" class="role-reference"><code>gridcell</code></a>.</p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-25">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-34">role</a> cell are contained in, or owned by, an element with the <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-35">role</a> <a href="#row" class="role-reference"><code>row</code></a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><td></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"><a href="#row" class="role-reference"><code>row</code></a></td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a></li> <li><a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a></li> <li><a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a></li> <li><a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="checkbox"> <h4 class="role-name" title="checkbox" aria-describedby="desc-checkbox"><code>checkbox</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-checkbox" role="definition"> <p>A checkable input that has three possible <span>values</span>: <code>true</code>, <code>false</code>, or <code>mixed</code>.</p> <p>The <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-12">attribute</a> of a <code>checkbox</code> indicates whether the input is checked (<code>true</code>), unchecked (<code>false</code>), or represents a group of <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-26">elements</a> that have a mixture of checked and unchecked values (<code>mixed</code>). Many checkboxes do not use the <code>mixed</code> value, and thus are effectively boolean checkboxes.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#input" class="role-reference"><code>input</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <ul> <li><code><input[type="checkbox"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</li> <li><a href="#option" class="role-reference"><code>option</code></a></li> </ul> </td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"> <ul> <li><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="code"> <h4 class="role-name" title="code" aria-describedby="desc-code"><code>code</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-code" role="definition"> <p>A section whose content represents a fragment of computer code.</p> <p> The primary purpose of the code role is to inform assistive technologies that the content is computer code and thus may require special presentation, in particular with respect to synthesized speech. More specifically, screen readers and other tools which provide text-to-speech presentation of content <em class="rfc2119">SHOULD</em> prefer full punctuation verbosity to ensure common symbols (e.g. "-") are spoken. </p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <a href="#section" class="role-reference"><code>section</code></a> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <code><code></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="columnheader"> <h4 class="role-name" title="columnheader" aria-describedby="desc-columnheader"><code>columnheader</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-columnheader" role="definition"> <p>A cell containing header information for a column.</p> <p><code>columnheader</code> can be used as a column header in a table or grid. It could also be used in a pie chart to show a similar <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-3">relationship</a> in the data.</p> <p>The <code>columnheader</code> establishes a relationship between it and all cells in the corresponding column. It is the structural equivalent to an <abbr title="Hypertext Markup Language">HTML</abbr> <code>th</code> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-27">element</a> with a column scope.</p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-28">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-36">role</a> <code>columnheader</code> are contained in, or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-12">owned</a> by, an element with the role <a href="#row" class="role-reference"><code>row</code></a>.</p> <p>Applying the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> state on a columnheader <em class="rfc2119">MUST</em> not cause the user agent to automatically propagate the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> state to all the cells in the corresponding column. An author <em class="rfc2119">MAY</em> choose to propagate selection in this manner depending on the specific application.</p> <p>While the <code>columnheader</code> role can be used in both interactive grids and non-interactive tables, the use of <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> and <a href="#aria-required" class="property-reference"><code>aria-required</code></a> is only applicable to interactive elements. Therefore, authors <em class="rfc2119">SHOULD NOT</em> use <a href="#aria-required" class="property-reference"><code>aria-required</code></a> or <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> in a <code>columnheader</code> that descends from a <a href="#table" class="role-reference"><code>table</code></a>, and user agents <em class="rfc2119">SHOULD NOT</em> expose either property to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-21">assistive technologies</a> unless the <code>columnheader</code> descends from a <a href="#grid" class="role-reference"><code>grid</code></a>.</p> <div class="note" role="note" id="issue-container-generatedID-11"><div role="heading" class="note-title marker" id="h-note-11" aria-level="4"><span>Note</span></div><p class="">Because cells are organized into rows, there is not a single container element for the column. The column is the set of <a href="#gridcell" class="role-reference"><code>gridcell</code></a> elements in a particular position within their respective <a href="#row" class="role-reference"><code>row</code></a> containers.</p></div> <div class="note" role="note" id="issue-container-generatedID-12"><div role="heading" class="note-title marker" id="h-note-12" aria-level="4"><span>Note</span><span class="issue-label">: Usage of aria-disabled</span></div><p class="">While <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> is currently supported on <a href="#columnheader" class="role-reference"><code>columnheader</code></a>, in a future version the working group plans to prohibit its use on elements with role <a href="#columnheader" class="role-reference"><code>columnheader</code></a> except when the element is in the context of a <a href="#grid" class="role-reference"><code>grid</code></a> or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#sectionhead" class="role-reference"><code>sectionhead</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><th[scope="col"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"><a href="#row" class="role-reference"><code>row</code></a></td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"><a href="#aria-sort" class="property-reference"><code>aria-sort</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a></li> <li><a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a></li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> (state)</li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a></li> <li><a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a></li> <li><a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> (state)</li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="combobox"> <h4 class="role-name" title="combobox" aria-describedby="desc-combobox"><code>combobox</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-combobox" role="definition"> <p>An <a href="#input" class="role-reference"><code>input</code></a> that controls another element, such as a <a href="#listbox" class="role-reference"><code>listbox</code></a> or <a href="#grid" class="role-reference"><code>grid</code></a>, that can dynamically pop up to help the user set the value of the <a href="#input" class="role-reference"><code>input</code></a>.</p> <div class="note" id="issue-container-generatedID-13"><div role="heading" class="ednote-title marker" id="h-ednote" aria-level="4"><span>Editor's note</span><span class="issue-label">: Major Changes to combobox role in ARIA 1.2</span></div><p class=""> The Guidance for <a href="#combobox" class="role-reference"><code>combobox</code></a> has changed significantly in ARIA 1.2 due to problems with implementation of the previous patterns. Authors and developers of User Agents, Assistive Technologies, and Conformance Checkers are advised to review this section carefully to understand the changes. Explanation of the changes is available in the <a href="https://github.com/w3c/aria/wiki/Resolving-ARIA-1.1-Combobox-Issues">ARIA repository wiki</a>. </p></div> <p> A <code>combobox</code> functionally combines a named input field with the ability to assist value selection via a supplementary popup element. A <code>combobox</code> input <em class="rfc2119">MAY</em> be either a single-line text field that supports editing and typing or an element that only displays the current value of the <code>combobox</code>. If the <code>combobox</code> supports text input and provides autocompletion behavior as described in <a href="#aria-autocomplete" class="property-reference"><code>aria-autocomplete</code></a>, authors <em class="rfc2119">MUST</em> set <a href="#aria-autocomplete" class="property-reference"><code>aria-autocomplete</code></a> on the <code>combobox</code> element to the value that corresponds to the provided behavior. </p> <p> Typically, the initial state of a <code>combobox</code> is collapsed. In the collapsed state, only the <code>combobox</code> element and a separate, optional popup control <a href="#button" class="role-reference"><code>button</code></a> are visible. A <code>combobox</code> is said to be expanded when both the <code>combobox</code> element showing its current value and its associated popup element are visible. Authors <em class="rfc2119">MUST</em> set <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> to <code>true</code> on an element with role <code>combobox</code> when it is expanded and <code>false</code> when it is collapsed. </p> <p> Authors <em class="rfc2119">MUST</em> ensure the popup element associated with a <code>combobox</code> has a role of <a href="#listbox" class="role-reference"><code>listbox</code></a>, <a href="#tree" class="role-reference"><code>tree</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#dialog" class="role-reference"><code>dialog</code></a>. Authors <em class="rfc2119">MUST</em> set <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a> on a <code>combobox</code> element to a value that refers to the <code>combobox</code> popup element. </p> <p> Elements with the role <code>combobox</code> have an implicit <a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> value of <code>listbox</code>. If the <code>combobox</code> popup element has a role other than <a href="#listbox" class="role-reference"><code>listbox</code></a>, authors <em class="rfc2119">MUST</em> specify a value for <a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> that corresponds to the role of its popup. </p> <p> If the user interface includes an additional icon that allows the visibility of the popup to be controlled via pointer and touch events, authors <em class="rfc2119">SHOULD</em> ensure that element has role <a href="#button" class="role-reference"><code>button</code></a>, that it is focusable but not included in the page <kbd>Tab</kbd> sequence, and that it is not a descendant of the element with role <code>combobox</code>. In addition, to be keyboard accessible, authors <em class="rfc2119">SHOULD</em> provide keyboard mechanisms for moving focus between the <code>combobox</code> element and elements contained in the popup. For example, one common convention is that <kbd>Down Arrow</kbd> moves focus from the input to the first focusable descendant of the popup element. If the popup element supports <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a>, in lieu of moving focus, such keyboard mechanisms can control the value of <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> on the <code>combobox</code> element. When a descendant of the popup element is active, authors <em class="rfc2119">MAY</em> set <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> on the <code>combobox</code> to a value that refers to the active element within the popup while focus remains on the <code>combobox</code> element. </p> <p> User agents <em class="rfc2119">MUST</em> expose the value of elements with role <code>combobox</code> to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-22">assistive technologies</a>. The value of a <code>combobox</code> is represented by one of the following: </p> <ul> <li>If the <code>combobox</code> element is a host language element that provides a value, such as an <abbr title="Hypertext Markup Language">HTML</abbr> <code>input</code> element, the value of the combobox is the value of that element.</li> <li>Otherwise, the value of the <code>combobox</code> is represented by its descendant elements and can be determined using the same method used to compute the name of a <a href="#button" class="role-reference"><code>button</code></a> from its descendant content.</li> </ul> <div class="example" id="example-6"> <div class="marker"> <a class="self-link" href="#example-6">Example<bdi> 6</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"> <span class="hljs-tag"><<span class="hljs-name">label</span> <span class="hljs-attr">for</span>=<span class="hljs-string">"tag_combo"</span>></span>Tag<span class="hljs-tag"></<span class="hljs-name">label</span>></span> <span class="hljs-tag"><<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"tag_combo"</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"combobox"</span> <span class="hljs-attr">aria-autocomplete</span>=<span class="hljs-string">"list"</span> <span class="hljs-attr">aria-haspopup</span>=<span class="hljs-string">"listbox"</span> <span class="hljs-attr">aria-expanded</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">aria-controls</span>=<span class="hljs-string">"popup_listbox"</span> <span class="hljs-attr">aria-activedescendant</span>=<span class="hljs-string">"selected_option"</span>></span> <span class="hljs-tag"><<span class="hljs-name">ul</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"listbox"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"popup_listbox"</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span>></span>Zebra<span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"selected_option"</span>></span>Zoom<span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"></<span class="hljs-name">ul</span>></span></code></pre> </div> <div class="note" id="issue-container-generatedID-14"><div role="heading" class="ednote-title marker" id="h-ednote-0" aria-level="4"><span>Editor's note</span><span class="issue-label">: Validity changes combobox for ARIA 1.2</span></div><p class=""> Please review the following carefully. As a result of these changes a combobox following the ARIA 1.1 combobox specification will no longer conform with the ARIA specification. </p></div> <div class="note" role="note" id="issue-container-generatedID-15"><div role="heading" class="note-title marker" id="h-note-13" aria-level="4"><span>Note</span></div><div class=""> <p>The structural requirements for <code>combobox</code> defined by this version of the specification are different from the requirements defined by ARIA 1.0 and ARIA 1.1:</p> <ul> <li>The ARIA 1.0 specification required the input element with the <code>combobox</code> role to be a single-line text field and reference the popup element with <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> instead of <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a>.</li> <li>The ARIA 1.1 specification, which was not broadly supported by assistive technologies, required the <code>combobox</code> to be a non-focusable element with two required owned elements -- a focusable <a href="#textbox" class="role-reference"><code>textbox</code></a> and a popup element controlled by the <a href="#textbox" class="role-reference"><code>textbox</code></a>.</li> <li>The changes introduced in ARIA 1.2 improve interoperability with assistive technologies and enable authors to create presentations of combobox that more closely imitate a native <abbr title="Hypertext Markup Language">HTML</abbr> <code>select</code> element.</li> </ul> </div></div> <p>The features and behaviors of combobox implementations vary widely. Consequently, there are many important authoring considerations. See the <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite> for additional details on implementing combobox design patterns.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#input" class="role-reference"><code>input</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <code><select></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] </td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"> <ul> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-autocomplete" class="property-reference"><code>aria-autocomplete</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values"> Default for <a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> is <code class="default">listbox</code>.<br> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="command"> <h4 class="role-name" title="command" aria-describedby="desc-command"><code>command</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-command" role="definition"> <p>A form of widget that performs an action but does not receive input data.</p> <div class="note" role="note" id="issue-container-generatedID-16"><div role="heading" class="note-title marker" id="h-note-14" aria-level="4"><span>Note</span></div><p class=""><code>command</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#widget" class="role-reference"><code>widget</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#button" class="role-reference"><code>button</code></a></li> <li><a href="#link" class="role-reference"><code>link</code></a></li> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="complementary"> <h4 class="role-name" title="complementary" aria-describedby="desc-complementary"><code>complementary</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-complementary" role="definition"> <p>A <a href="#landmark" class="role-reference"><code>landmark</code></a> that is designed to be complementary to the main content at a similar level in the <abbr title="Document Object Model">DOM</abbr> hierarchy, but remaining meaningful when separated from the main content.</p> <p>There are various types of content that would appropriately have this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-37">role</a>. For example, in the case of a portal, this may include but not be limited to show times, current weather, related articles, or stocks to watch. The complementary role indicates that contained content is relevant to the main content. If the complementary content is completely separable from the main content, it may be appropriate to use a more general role.</p> <p>User agents <em class="rfc2119">SHOULD</em> treat elements with the role of <code>complementary</code> as navigational <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-5">landmarks</a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#landmark" class="role-reference"><code>landmark</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="composite"> <h4 class="role-name" title="composite" aria-describedby="desc-composite"><code>composite</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-composite" role="definition"> <p>A <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-13">widget</a> that may contain navigable descendants or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-13">owned</a> children.</p> <p>Authors <em class="rfc2119">SHOULD</em> ensure that a composite widget exists as a single navigation stop within the larger navigation system of the web page. Once the composite widget has focus, authors <em class="rfc2119">SHOULD</em> provide a separate navigation mechanism for users to navigate to <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-29">elements</a> that are descendants or owned children of the composite element.</p> <div class="note" role="note" id="issue-container-generatedID-17"><div role="heading" class="note-title marker" id="h-note-15" aria-level="4"><span>Note</span></div><p class=""><code>composite</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#widget" class="role-reference"><code>widget</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#select" class="role-reference"><code>select</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> <li><a href="#tablist" class="role-reference"><code>tablist</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="contentinfo"> <h4 class="role-name" title="contentinfo" aria-describedby="desc-contentinfo"><code>contentinfo</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-contentinfo" role="definition"> <p>A <a href="#landmark" class="role-reference"><code>landmark</code></a> that contains information about the parent document.</p> <p>Examples of information included in this region of the page are copyrights and links to privacy statements.</p> <p>User agents <em class="rfc2119">SHOULD</em> treat elements with the role of <code>contentinfo</code> as navigational <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-6">landmarks</a>.</p> <p>Within any <a href="#document" class="role-reference"><code>document</code></a> or <a href="#application" class="role-reference"><code>application</code></a>, the author <em class="rfc2119">SHOULD</em> mark no more than one <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-30">element</a> with the <code>contentinfo</code> role.</p> <div class="note" role="note" id="issue-container-generatedID-18"><div role="heading" class="note-title marker" id="h-note-16" aria-level="4"><span>Note</span></div><p class="">Because <code>document</code> and <code>application</code> elements can be nested in the <abbr title="Document Object Model">DOM</abbr>, they may have multiple <code>contentinfo</code> elements as <abbr title="Document Object Model">DOM</abbr> descendants, assuming each of those is associated with different document nodes, either by a <abbr title="Document Object Model">DOM</abbr> nesting (e.g., <a href="#document" class="role-reference"><code>document</code></a> within <a href="#document" class="role-reference"><code>document</code></a>) or by use of the <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> attribute.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#landmark" class="role-reference"><code>landmark</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="definition"> <h4 class="role-name" title="definition" aria-describedby="desc-definition"><code>definition</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-definition" role="definition"> <p>A definition of a term or concept. See related <a href="#term" class="role-reference"><code>term</code></a>.</p> <p>Authors <em class="rfc2119">SHOULD</em> identify the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-31">element</a> being defined by giving that element a role of <a href="#term" class="role-reference"><code>term</code></a> and referencing it with the <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-13">attribute</a> or by making the element with role <a href="#term" class="role-reference"><code>term</code></a> a descendant of the element with role <code>definition</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="deletion"> <h4 class="role-name" title="deletion" aria-describedby="desc-deletion"><code>deletion</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-deletion" role="definition"> <p>A deletion contains content that is marked as removed or content that is being suggested for removal. See related <a href="#insertion" class="role-reference"><code>insertion</code></a>.</p> <p>Deletions are typically used to either mark differences between two versions of content or to designate content suggested for removal in scenarios where multiple people are revising content.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><del></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="dialog"> <h4 class="role-name" title="dialog" aria-describedby="desc-dialog"><code>dialog</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-dialog" role="definition"> <p>A dialog is a descendant window of the primary window of a web application. For <abbr title="Hypertext Markup Language">HTML</abbr> pages, the primary application window is the entire web document, i.e., the <code>body</code> element.</p> <p>Dialogs are most often used to prompt the user to enter or respond to information. A dialog that is designed to interrupt workflow is usually modal. See related <a href="#alertdialog" class="role-reference"><code>alertdialog</code></a>.</p> <p>Authors <em class="rfc2119">MUST</em> provide an accessible name for a dialog, which can be done with the <a href="#aria-label" class="property-reference"><code>aria-label</code></a> or <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> attribute.</p> <p>Authors <em class="rfc2119">SHOULD</em> ensure that all dialogs (both modal and non-modal) have at least one focusable descendant element. Authors <em class="rfc2119">SHOULD</em> focus an element in the modal dialog when it is displayed, and authors <em class="rfc2119">SHOULD</em> manage focus of modal dialogs.</p> <div class="note" role="note" id="issue-container-generatedID-19"><div role="heading" class="note-title marker" id="h-note-17" aria-level="4"><span>Note</span></div><p class="">In the description of this role, the term "web application" does not refer to the <a href="#application" class="role-reference"><code>application</code></a> role, which specifies specific assistive technology behaviors.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#window" class="role-reference"><code>window</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#alertdialog" class="role-reference"><code>alertdialog</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-modal" class="property-reference"><code>aria-modal</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="directory"> <h4 class="role-name" title="directory" aria-describedby="desc-directory"><code>directory</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-directory" role="definition"> <p>[Deprecated in ARIA 1.2] A list of references to members of a group, such as a static table of contents.</p> <div class="note" role="note" id="issue-container-generatedID-20"><div role="heading" class="note-title marker" id="h-note-18" aria-level="4"><span>Note</span></div><p class="">As exposed by accessibility <abbr title="Application Programing Interfaces">APIs</abbr>, the <code>directory</code> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-38">role</a> is essentially equivalent to the <code>list</code> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-39">role</a>. So, using <code>directory</code> does not provide any additional benefits to assistive technology users. Authors are advised to treat <code>directory</code> as deprecated and to use <code>list</code>, or a host language's equivalent semantics instead.</p></div> <p>A <code>directory</code> is a static table of contents, whether linked or unlinked. This includes tables of contents built with lists, including nested lists. Dynamic tables of contents, however, might use a <a href="#tree" class="role-reference"><code>tree</code></a> role instead.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#list" class="role-reference"><code>list</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="document"> <h4 class="role-name" title="document" aria-describedby="desc-document"><code>document</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-document" role="definition"> <p>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-32">element</a> containing content that <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-23">assistive technology</a> users may want to browse in a reading mode.</p> <p>When <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-23">user agent</a> focus moves to an element assigned the role of <code>document</code>, <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-24">assistive technologies</a> having a reading mode for browsing static content <em class="rfc2119">MAY</em> switch to that reading mode and intercept standard input events, such as Up or Down arrow keyboard events, to control the reading cursor.</p> <p>Because <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-25">assistive technologies</a> that have a reading mode default to that mode for all elements except for those with either a <a href="#widget" class="role-reference"><code>widget</code></a> or <a href="#application" class="role-reference"><code>application</code></a> role, the only circumstance where the <code>document</code> role is useful for changing assistive technology behavior is when the element with role <code>document</code> is a focusable child element of a <a href="#widget" class="role-reference"><code>widget</code></a> or <a href="#application" class="role-reference"><code>application</code></a>. For example, given an <a href="#application" class="role-reference"><code>application</code></a> element which contains some static rich text, the author can apply role <code>document</code> to the element containing the text and give it a <code>tabindex</code> of <code>0</code>. When a screen reader user presses the Tab key and places focus on the <code>document</code> element, the user will be able to read the text with the screen reader's reading cursor.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#structure" class="role-reference"><code>structure</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#article" class="role-reference"><code>article</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">False</td> </tr> </tbody> </table> </section> <section class="role notoc" id="emphasis"> <h4 class="role-name" title="emphasis" aria-describedby="desc-emphasis"><code>emphasis</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-emphasis" role="definition"> <p>One or more emphasized characters. See related <a href="#strong" class="role-reference"><code>strong</code></a>.</p> <p>The purpose of the <code>emphasis</code> role is to stress or emphasize content. It is not for communicating changes in typographical presentation that do not impact the meaning of the content. Authors <em class="rfc2119">SHOULD</em> use the <code>emphasis</code> role only if its absence would change the meaning of the content.</p> <p>The <code>emphasis</code> role is not intended to convey importance; for that purpose, the <a href="#strong" class="role-reference"><code>strong</code></a> role is more appropriate.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><em></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="feed"> <h4 class="role-name" title="feed" aria-describedby="desc-feed"><code>feed</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-feed" role="definition"> <p>A scrollable <a href="#list" class="role-reference"><code>list</code></a> of <a href="#article" class="role-reference"><code>articles</code></a> where scrolling may cause <a href="#article" class="role-reference"><code>articles</code></a> to be added to or removed from either end of the list.</p> <p>A <code>feed</code> enables users of <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-26">assistive technologies</a> that have a document browse mode, such as screen readers, to use the browse mode reading cursor to both read and scroll through a stream of rich content that may continue scrolling infinitely by loading more content as the user reads. In a <code>feed</code>, <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-27">assistive technologies</a> provide a web application with signals of the user's reading cursor movement by moving <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-24">user agent</a> focus, enabling the application to both add new content and visually position content as the user browses the page. The <code>feed</code> also lets authors inform assistive technologies when additions and removals are occurring so assistive technologies can more reliably update their reading view without disrupting reading or degrading performance.</p> <p>For example, a <code>feed</code> could be used to present a stream of news stories where each <a href="#article" class="role-reference"><code>article</code></a> contains a story with text, links, images, and comments as well as widgets for sharing and commenting. As a screen reader user reads and interacts with each story and moves the screen reader reading cursor from story to story, each story scrolls into view and, as needed, new stories are loaded.</p> <p>A <code>feed</code> is a container element whose children have role <a href="#article" class="role-reference"><code>article</code></a>. When <a href="#article" class="role-reference"><code>articles</code></a> are added or removed from either or both ends of a <code>feed</code>, authors <em class="rfc2119">SHOULD</em> set <a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> to <code>true</code> on the <code>feed</code> element before the changes are made and set it to <code>false</code> after the changes are complete. Authors <em class="rfc2119">SHOULD</em> avoid inserting or removing <a href="#article" class="role-reference"><code>articles</code></a> in the middle of a <code>feed</code>. These requirements help <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-28">assistive technologies</a> gracefully respond to changes in the <code>feed</code> content that occur simultaneously with user commands to move the reading cursor within the <code>feed</code>.</p> <p>Authors <em class="rfc2119">SHOULD</em> make each <a href="#article" class="role-reference"><code>article</code></a> in a <code>feed</code> focusable and ensure that the application scrolls an <a href="#article" class="role-reference"><code>article</code></a> into view when <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-25">user agent</a> focus is set on the <a href="#article" class="role-reference"><code>article</code></a> or one of its descendant elements. For example, in <abbr title="Hypertext Markup Language">HTML</abbr>, each <a href="#article" class="role-reference"><code>article</code></a> element should have a <code>tabindex</code> value of either <code>-1</code> or <code>0</code>.</p> <p> When an <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-29">assistive technology</a> reading cursor moves from one <a href="#article" class="role-reference"><code>article</code></a> to another, <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-30">assistive technologies</a> <em class="rfc2119">SHOULD</em> set user agent focus on the <a href="#article" class="role-reference"><code>article</code></a> that contains the reading cursor. If the reading cursor lands on a focusable element inside the <a href="#article" class="role-reference"><code>article</code></a>, the assistive technology <em class="rfc2119">MAY</em> set focus on that element in lieu of setting focus on the containing <a href="#article" class="role-reference"><code>article</code></a>.</p> <p>Because the ability to scroll to another <a href="#article" class="role-reference"><code>article</code></a> with an <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-31">assistive technology</a> reading cursor depends on the presence of another <a href="#article" class="role-reference"><code>article</code></a> in the page, authors <em class="rfc2119">SHOULD</em> attempt to load additional <a href="#article" class="role-reference"><code>articles</code></a> before <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-26">user agent</a> focus reaches an <a href="#article" class="role-reference"><code>article</code></a> at either end of the set of <a href="#article" class="role-reference"><code>articles</code></a> that has been loaded. Alternatively, authors <em class="rfc2119">MAY</em> include an <a href="#article" class="role-reference"><code>article</code></a> at either or both ends of the loaded set of <a href="#article" class="role-reference"><code>articles</code></a> that includes an element, such as a <a href="#button" class="role-reference"><code>button</code></a>, that lets the user request more <a href="#article" class="role-reference"><code>articles</code></a> to be loaded.</p> <p>In addition to providing a brief label, authors <em class="rfc2119">MAY</em> apply <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> to <a href="#article" class="role-reference"><code>article</code></a> elements in a <code>feed</code> to suggest to screen readers which elements to speak after the label when users navigate by <a href="#article" class="role-reference"><code>article</code></a>. Screen readers <em class="rfc2119">MAY</em> provide users with a way to quickly scan <code>feed</code> content by speaking both the label and <a href="#dfn-accessible-description" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessible-description-2">accessible description</a> when navigating by <a href="#article" class="role-reference"><code>article</code></a>, enabling the user to ignore repetitive or less important elements, such as embedded interaction widgets, that the author has left out of the description.</p> <p> Authors <em class="rfc2119">SHOULD</em> provide keyboard commands for moving focus among <a href="#article" class="role-reference"><code>articles</code></a> in a <code>feed</code> so users who do not utilize an assistive technology that provides <a href="#article" class="role-reference"><code>article</code></a> navigation features can use the keyboard to navigate the <code>feed</code>.</p> <p>If the number of articles available in a <code>feed</code> supply is static, authors <em class="rfc2119">MAY</em> specify <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a> on <a href="#article" class="role-reference"><code>article</code></a> elements in that <code>feed</code>. However, if the total number is extremely large, indefinite, or changes often, authors <em class="rfc2119">MAY</em> set <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a> to <code>-1</code> to communicate the unknown size of the set.</p> <p>See the <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite> for additional details on implementing a feed design pattern.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#list" class="role-reference"><code>list</code></a></td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"><a href="#article" class="role-reference"><code>article</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">False</td> </tr> </tbody> </table> </section> <section class="role notoc" id="figure"> <h4 class="role-name" title="figure" aria-describedby="desc-figure"><code>figure</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-figure" role="definition"> <p>A perceivable <a href="#section" class="role-reference"><code>section</code></a> of content that typically contains a <a href="#dfn-graphical-document" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-graphical-document-1">graphical document</a>, images, code snippets, or example text. The parts of a <code>figure</code> <em class="rfc2119">MAY</em> be user-navigable.</p> <p>Authors <em class="rfc2119">SHOULD</em> provide a reference to the <code>figure</code> from the main text, but the <code>figure</code> need not be displayed at the same location as the referencing element. Authors <em class="rfc2119">MAY</em> reference text serving as a caption using <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>. Authors <em class="rfc2119">MAY</em> provide a label using <a href="#aria-label" class="property-reference"><code>aria-label</code></a> or <em class="rfc2119">MAY</em> reference text serving as a label using <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a>.</p> <p><a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-32">Assistive technologies</a> <em class="rfc2119">SHOULD</em> enable users to quickly navigate to figures. Mainstream <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-27">user agents</a> <em class="rfc2119">MAY</em> enable users to quickly navigate to figures.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <code><figure></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>] </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">False</td> </tr> </tbody> </table> </section> <section class="role notoc" id="form"> <h4 class="role-name" title="form" aria-describedby="desc-form"><code>form</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-form" role="definition"> <p>A <a href="#landmark" class="role-reference"><code>landmark</code></a> region that contains a collection of items and objects that, as a whole, combine to create a form. See related <a href="#search" class="role-reference"><code>search</code></a>.</p> <p>A form may contain a mix of host language form controls, scripted controls, and hyperlinks. Authors are reminded to use native host language semantics to create form controls whenever possible. If the purpose of a form is to submit search criteria, authors <em class="rfc2119">SHOULD</em> use the <a href="#search" class="role-reference"><code>search</code></a> role instead of the generic <code>form</code> role.</p> <p>Authors <em class="rfc2119">MUST</em> give each element with role <code>form</code> a brief label that describes the purpose of the form. Authors <em class="rfc2119">SHOULD</em> reference a visible label with <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> if a visible label is present. Authors <em class="rfc2119">SHOULD</em> include the label inside of a heading whenever possible. The heading <em class="rfc2119">MAY</em> be an instance of the standard host language heading element or an instance of an element with role <a href="#heading" class="role-reference"><code>heading</code></a>.</p> <p>If an author uses a script to submit a form based on a user action that would otherwise not trigger an <code>onsubmit</code> event (for example, a form submission triggered by the user changing a form element's value), the author <em class="rfc2119">SHOULD</em> provide the user with advance notification of the behavior.</p> <p>User agents <em class="rfc2119">SHOULD</em> treat elements with the role of <code>form</code> as navigational <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-7">landmarks</a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#landmark" class="role-reference"><code>landmark</code></a></td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><form></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">true</td> </tr> </tbody> </table> </section> <section class="role notoc" id="generic"> <h4 class="role-name" title="generic" aria-describedby="desc-generic"><code>generic</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-generic" role="definition"> <p>A nameless container <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-33">element</a> that has no semantic meaning on its own.</p> <p>The <code>generic</code> role is intended for use as the implicit role of generic elements in host languages (such as <abbr title="Hypertext Markup Language">HTML</abbr> <code>div</code> or <code>span</code>), so is primarily for implementors of user agents. Authors <em class="rfc2119">SHOULD NOT</em> use this role in content. Authors <em class="rfc2119">MAY</em> use <a href="#presentation" class="role-reference"><code>presentation</code></a> or <a href="#none" class="role-reference"><code>none</code></a> to remove implicit accessibility semantics, or a semantic container role such as <a href="#group" class="role-reference"><code>group</code></a> to semantically group descendants in a named container.</p> <p>Like an element with role <a href="#presentation" class="role-reference"><code>presentation</code></a>, an element with role <code>generic</code> can provide a limited number of accessible states and properties for its descendants, such as <a href="#aria-live" class="property-reference"><code>aria-live</code></a> attributes. However, unlike elements with role <a href="#presentation" class="role-reference"><code>presentation</code></a>, <code>generic</code> elements are exposed in <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-19">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a> so that assistive technologies can gather certain properties such as layout and bounds.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#structure" class="role-reference"><code>structure</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><a href="https://html.spec.whatwg.org/multipage/grouping-content.html#the-div-element"><abbr title="Hypertext Markup Language">HTML</abbr> <code>div</code></a>, <a href="https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-span-element"><abbr title="Hypertext Markup Language">HTML</abbr> <code>span</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="grid"> <h4 class="role-name" title="grid" aria-describedby="desc-grid"><code>grid</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-grid" role="definition"> <p>A composite <a href="#widget" class="role-reference"><code>widget</code></a> containing a collection of one or more rows with one or more cells where some or all cells in the grid are focusable by using methods of two-dimensional navigation, such as directional arrow keys.</p> <p>The <code>grid</code> role does not imply a specific visual, e.g., tabular, presentation. It describes <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-4">relationships</a> among <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-34">elements</a>. It may be used for purposes as simple as grouping a collection of checkboxes or navigation links or as complex as creating a full-featured spreadsheet application.</p> <p>The cell elements of a <code>grid</code> have role <a href="#gridcell" class="role-reference"><code>gridcell</code></a>. Authors <em class="rfc2119">MAY</em> designate a cell as a row or column header by using either the <a href="#rowheader" class="role-reference"><code>rowheader</code></a> or <a href="#columnheader" class="role-reference"><code>columnheader</code></a> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-40">role</a> in lieu of the <a href="#gridcell" class="role-reference"><code>gridcell</code></a> role. Authors <em class="rfc2119">MUST</em> ensure elements with role <a href="#gridcell" class="role-reference"><code>gridcell</code></a>, <a href="#columnheader" class="role-reference"><code>columnheader</code></a>, or <a href="#rowheader" class="role-reference"><code>rowheader</code></a> are <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-14">owned</a> by elements with role <a href="#row" class="role-reference"><code>row</code></a>, which are in turn owned by an element with role <a href="#rowgroup" class="role-reference"><code>rowgroup</code></a>, or <code>grid</code>.</p> <p>To be <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-3">keyboard accessible</a>, authors <em class="rfc2119">SHOULD</em> manage focus of descendants of a <code>grid</code> as described in <a href="#managingfocus">Managing Focus</a>. When a user is navigating the <code>grid</code> content with a keyboard, authors <em class="rfc2119">SHOULD</em> set focus as follows:</p> <ul> <li>If a <a href="#gridcell" class="role-reference"><code>gridcell</code></a> contains a single interactive <a href="#widget" class="role-reference"><code>widget</code></a> that will not consume arrow key presses when it receives focus, such as a <a href="#checkbox" class="role-reference"><code>checkbox</code></a>, <a href="#button" class="role-reference"><code>button</code></a>, or <a href="#link" class="role-reference"><code>link</code></a>, authors <em class="rfc2119">MAY</em> set focus on the interactive element contained in that cell. This allows the contained widget to be directly operable.</li> <li>Otherwise, authors <em class="rfc2119">SHOULD</em> ensure the element that receives focus is a <a href="#gridcell" class="role-reference"><code>gridcell</code></a>, <a href="#rowheader" class="role-reference"><code>rowheader</code></a>, or <a href="#columnheader" class="role-reference"><code>columnheader</code></a> element.</li> </ul> <p>Authors <em class="rfc2119">SHOULD</em> provide a mechanism for changing to an interaction or edit mode that allows users to navigate and interact with content contained inside a focusable cell if that focusable cell contains any of the following:</p> <ul> <li>a widget that requires arrow keys to operate, e.g., a <a href="#combobox" class="role-reference"><code>combobox</code></a> or <a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li>multiple interactive elements</li> <li>editable content</li> </ul> <p>For example, if a cell in a spreadsheet contains a <a href="#combobox" class="role-reference"><code>combobox</code></a> or editable text, the <kbd>Enter</kbd> key might be used to activate a cell interaction or editing mode when that cell has focus so the directional arrow keys can be used to operate the contained <a href="#combobox" class="role-reference"><code>combobox</code></a> or <a href="#textbox" class="role-reference"><code>textbox</code></a>. Depending on the implementation, pressing <kbd>Enter</kbd> again, <kbd>Tab</kbd>, <kbd>Escape</kbd>, or another key may switch the application back to the grid navigation mode.</p> <p>Authors <em class="rfc2119">MAY</em> use a <a href="#gridcell" class="role-reference"><code>gridcell</code></a> to display the result of a formula, which could be editable by the user. In a spreadsheet application, for example, a <a href="#gridcell" class="role-reference"><code>gridcell</code></a> may show a value calculated from a formula until the user activates the <a href="#gridcell" class="role-reference"><code>gridcell</code></a> for editing when a <a href="#textbox" class="role-reference"><code>textbox</code></a> appears in the <a href="#gridcell" class="role-reference"><code>gridcell</code></a> containing the formula in an editable state.</p> <p>If <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> is set on an element with role <code>grid</code>, <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-28">user agents</a> <em class="rfc2119">MUST</em> propagate the value to all <a href="#gridcell" class="role-reference"><code>gridcell</code></a> elements <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-15">owned</a> by the <code>grid</code> and expose the value in the accessibility <abbr title="application programming interface">API</abbr>. An author <em class="rfc2119">MAY</em> override the propagated value of <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> for an individual <a href="#gridcell" class="role-reference"><code>gridcell</code></a> element.</p> <p>In a <code>grid</code> that provides cell content editing functions, if the content of a focusable <a href="#gridcell" class="role-reference"><code>gridcell</code></a> element is not editable, authors <em class="rfc2119">MAY</em> set <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> to <code>true</code> on the <code>gridcell</code> element. However, the value of <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a>, whether specified for a <code>grid</code> or individual cells, only indicates whether the content contained in cells is editable. It does not represent availability of functions for navigating or manipulating the <code>grid</code> itself.</p> <p>An unspecified value for <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> does not imply that a <code>grid</code> or a <a href="#gridcell" class="role-reference"><code>gridcell</code></a> contains editable content. For example, if a <code>grid</code> presents a collection of elements that are not editable, such as a collection of <a href="#link" class="role-reference"><code>link</code></a> elements representing dates in a datepicker, it is not necessary for the author to specify a value for <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a>.</p> <p>Authors <em class="rfc2119">MAY</em> indicate that a focusable <a href="#gridcell" class="role-reference"><code>gridcell</code></a> is selectable as the object of an action with the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> attribute. If the <code>grid</code> allows multiple <a href="#gridcell" class="role-reference"><code>gridcell</code></a>s to be selected, the author <em class="rfc2119">SHOULD</em> set <a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a> to <code>true</code> on the element with role <code>grid</code>.</p> <p>Since <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> can augment an element of the host language, a <code>grid</code> can reuse the elements and attributes of a native table, such as an <abbr title="Hypertext Markup Language">HTML</abbr> <code>table</code> element. For example, if an author applies the <code>grid</code> role to an <abbr title="Hypertext Markup Language">HTML</abbr> <code>table</code> element, the author does not need to apply the <a href="#row" class="role-reference"><code>row</code></a> and <a href="#gridcell" class="role-reference"><code>gridcell</code></a> roles to the descendant <abbr title="Hypertext Markup Language">HTML</abbr> <code>tr</code> and <code>td</code> elements because the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-29">user agent</a> will automatically make the appropriate translations. When the author is reusing a native host language table element and needs a <a href="#gridcell" class="role-reference"><code>gridcell</code></a> element to span multiple rows or columns, the author <em class="rfc2119">SHOULD</em> apply the appropriate host language attributes instead of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a> or <a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a> properties.</p> <p>See the <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite> for additional details on implementing grid design patterns.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#composite" class="role-reference"><code>composite</code></a></li> <li><a href="#table" class="role-reference"><code>table</code></a></li> </ul> </td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><table></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"> <ul> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#rowgroup" class="role-reference"><code>rowgroup</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#row" class="role-reference"><code>row</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-colcount" class="property-reference"><code>aria-colcount</code></a></li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-rowcount" class="property-reference"><code>aria-rowcount</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="gridcell"> <h4 class="role-name" title="gridcell" aria-describedby="desc-gridcell"><code>gridcell</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-gridcell" role="definition"> <p>A <a href="#cell" class="role-reference"><code>cell</code></a> in a <a href="#grid" class="role-reference"><code>grid</code></a> or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p> <p>A <code>gridcell</code> may be focusable, editable, and selectable. A <code>gridcell</code> may have <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-5">relationships</a> such as <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a> to address the application of functional relationships.</p> <p>If an author intends a <code>gridcell</code> to have a row header, column header, or both, and if the relevant headers cannot be determined from the <abbr title="Document Object Model">DOM</abbr> structure, authors <em class="rfc2119">SHOULD</em> explicitly indicate which header cells are relevant to the <code>gridcell</code> by applying <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> on the <code>gridcell</code> and referencing <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-35">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-41">role</a> <a href="#rowheader" class="role-reference"><code>rowheader</code></a> or <a href="#columnheader" class="role-reference"><code>columnheader</code></a>.</p> <p>In a <a href="#treegrid" class="role-reference"><code>treegrid</code></a>, authors <em class="rfc2119">MAY</em> define a <code>gridcell</code> as expandable by using the <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> attribute. If the <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> attribute is provided, it applies only to the individual cell. It is not a proxy for the container <a href="#row" class="role-reference"><code>row</code></a>, which also can be expanded. The main use case for providing this attribute on a <code>gridcell</code> is pivot table behavior.</p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-36">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-42">role</a> gridcell are contained in, or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-16">owned</a> by, an element with the <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-43">role</a> <a href="#row" class="role-reference"><code>row</code></a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> <li><a href="#widget" class="role-reference"><code>widget</code></a></li> </ul> </td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><td></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"><a href="#row" class="role-reference"><code>row</code></a></td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> <li><a href="#aria-selected" class="state-reference"><code>aria-selected</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a></li> <li><a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a></li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a></li> <li><a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="group"> <h4 class="role-name" title="group" aria-describedby="desc-group"><code>group</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-group" role="definition"> <p>A set of user interface <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-16">objects</a> that is not intended to be included in a page summary or table of contents by <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-33">assistive technologies</a>.</p> <p>Contrast with <a href="#region" class="role-reference"><code>region</code></a>, which is a grouping of user interface objects that will be included in a page summary or table of contents.</p> <p>Authors <em class="rfc2119">SHOULD</em> use a <code>group</code> to form a logical collection of items in a <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-14">widget</a>, such as children in a tree widget forming a collection of siblings in a hierarchy. However, when a <code>group</code> is used in the context of a <a href="#listbox" class="role-reference"><code>listbox</code></a>, authors <em class="rfc2119">MUST</em> limit its children to <a href="#option" class="role-reference"><code>option</code></a> elements. Therefore, proper handling of <code>group</code> by authors and assistive technologies is determined by the context in which it is provided.</p> <p>Authors <em class="rfc2119">MAY</em> nest <code>group</code> elements. If a section is significant enough to warrant inclusion in the web page's table of contents, the author <em class="rfc2119">SHOULD</em> assign it a <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-44">role</a> of <a href="#region" class="role-reference"><code>region</code></a> or a <a href="#landmark_roles">standard landmark role</a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#select" class="role-reference"><code>select</code></a></li> <li><a href="#toolbar" class="role-reference"><code>toolbar</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><fieldset></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="heading"> <h4 class="role-name" title="heading" aria-describedby="desc-heading"><code>heading</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-heading" role="definition"> <p>A heading for a section of the page.</p> <p>To ensure elements with a role of <code>heading</code> are organized into a logical outline, authors <em class="rfc2119">MUST</em> use the <a href="#aria-level" class="property-reference"><code>aria-level</code></a> attribute to indicate the proper nesting level.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#sectionhead" class="role-reference"><code>sectionhead</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><h1></code>, <code><h2></code>, <code><h3></code>, <code><h4></code>, <code><h5></code>, and <code><h6></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"><a href="#aria-level" class="property-reference"><code>aria-level</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="img"> <h4 class="role-name" title="img" aria-describedby="desc-img"><code>img</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-img" role="definition"> <p>A container for a collection of <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-37">elements</a> that form an image.</p> <p>An <code>img</code> can contain captions and descriptive text, as well as multiple image files that when viewed together give the impression of a single image. An <code>img</code> represents a single graphic within a document, whether or not it is formed by a collection of drawing <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-17">objects</a>. In order for elements with a <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-45">role</a> of <code>img</code> to be <a href="#dfn-perceivable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-perceivable-4">perceivable</a>, authors <em class="rfc2119">MUST</em> provide a label using the <a href="#aria-label" class="property-reference"><code>aria-label</code></a> or <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> attribute.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><img></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="input"> <h4 class="role-name" title="input" aria-describedby="desc-input"><code>input</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-input" role="definition"> <p>A generic type of <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-15">widget</a> that allows user input.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#widget" class="role-reference"><code>widget</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> <li><a href="#radio" class="role-reference"><code>radio</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="insertion"> <h4 class="role-name" title="insertion" aria-describedby="desc-insertion"><code>insertion</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-insertion" role="definition"> <p>An insertion contains content that is marked as added or content that is being suggested for addition. See related <a href="#deletion" class="role-reference"><code>deletion</code></a>.</p> <p>Insertions are typically used to either mark differences between two versions of content or to designate content suggested for addition in scenarios where multiple people are revising content.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><ins></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="landmark"> <h4 class="role-name" title="landmark" aria-describedby="desc-landmark"><code>landmark</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-landmark" role="definition"> <p>A perceivable <a href="#section" class="role-reference"><code>section</code></a> containing content that is relevant to a specific, author-specified purpose and sufficiently important that users will likely want to be able to navigate to the section easily and to have it listed in a summary of the page. Such a page summary could be generated dynamically by a user agent or assistive technology.</p> <p>Authors designate the purpose of the content by assigning a role that is a subclass of the landmark role and, when needed, by providing a brief, descriptive label.</p> <p>Elements with a role that is a subclass of the landmark role are known as landmark regions or navigational landmark regions. <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-34">Assistive technologies</a> <em class="rfc2119">SHOULD</em> enable users to quickly navigate to landmark regions. Mainstream <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-30">user agents</a> <em class="rfc2119">MAY</em> enable users to quickly navigate to landmark regions.</p> <div class="note" role="note" id="issue-container-generatedID-21"><div role="heading" class="note-title marker" id="h-note-19" aria-level="4"><span>Note</span></div><p class=""><code>landmark</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#banner" class="role-reference"><code>banner</code></a></li> <li><a href="#complementary" class="role-reference"><code>complementary</code></a></li> <li><a href="#contentinfo" class="role-reference"><code>contentinfo</code></a></li> <li><a href="#form" class="role-reference"><code>form</code></a></li> <li><a href="#main" class="role-reference"><code>main</code></a></li> <li><a href="#navigation" class="role-reference"><code>navigation</code></a></li> <li><a href="#region" class="role-reference"><code>region</code></a></li> <li><a href="#search" class="role-reference"><code>search</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">False</td> </tr> </tbody> </table> </section> <section class="role notoc" id="link"> <h4 class="role-name" title="link" aria-describedby="desc-link"><code>link</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-link" role="definition"> <p>An interactive reference to an internal or external resource that, when activated, causes the user agent to navigate to that resource. See related <a href="#button" class="role-reference"><code>button</code></a>.</p> <p>If this is a native link in the host language (such as an <abbr title="Hypertext Markup Language">HTML</abbr> anchor with an <code>href</code> value), activating the link causes the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-31">user agent</a> to navigate to that resource. If this is a simulated link, the web application author is responsible for managing navigation.</p> <div class="note" role="note" id="issue-container-generatedID-22"><div role="heading" class="note-title marker" id="h-note-20" aria-level="4"><span>Note</span></div><p class="">If pressing the link triggers an action but does not change browser focus or page location, authors are advised to consider using the <a href="#button" class="role-reference"><code>button</code></a> role instead of the <code>link</code> role.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#command" class="role-reference"><code>command</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <ul> <li><code><a></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</li> <li><code><link></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="list"> <h4 class="role-name" title="list" aria-describedby="desc-list"><code>list</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-list" role="definition"> <p>A <a href="#section" class="role-reference"><code>section</code></a> containing <a href="#listitem" class="role-reference"><code>listitem</code></a> elements. See related <a href="#listbox" class="role-reference"><code>listbox</code></a>.</p> <p>Lists contain children whose <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-46">role</a> is <a href="#listitem" class="role-reference"><code>listitem</code></a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#directory" class="role-reference"><code>directory</code></a></li> <li><a href="#feed" class="role-reference"><code>feed</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"> <ul> <li><code><ol></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</li> <li><code><ul></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</li> </ul> </td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"><a href="#listitem" class="role-reference"><code>listitem</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="listbox"> <h4 class="role-name" title="listbox" aria-describedby="desc-listbox"><code>listbox</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-listbox" role="definition"> <p>A <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-16">widget</a> that allows the user to select one or more items from a list of choices. See related <a href="#combobox" class="role-reference"><code>combobox</code></a> and <a href="#list" class="role-reference"><code>list</code></a>.</p> <p>Items within the list are static and, unlike standard <abbr title="Hypertext Markup Language">HTML</abbr> <code>select</code> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-38">elements</a>, may contain images. List boxes contain children whose <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-47">role</a> is <a href="#option" class="role-reference"><code>option</code></a> or elements whose <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-48">role</a> is <a href="#group" class="role-reference"><code>group</code></a> which in turn contains children whose <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-49">role</a> is <a href="#option" class="role-reference"><code>option</code></a>.</p> <p>To be <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-4">keyboard accessible</a>, authors <em class="rfc2119">SHOULD</em> manage focus of <a href="#option" class="role-reference"><code>option</code></a> descendants for all instances of this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-50">role</a>, as described in <a href="#managingfocus">Managing Focus</a>.</p> <p>Elements with the role <code>listbox</code> have an implicit <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> value of <code>vertical</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#select" class="role-reference"><code>select</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <ul> <li><a href="#list" class="role-reference"><code>list</code></a></li> <li><code><select></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</li> </ul> </td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#option" class="role-reference"><code>option</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values">Default for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> is <code class="default">vertical</code>.</td> </tr> </tbody> </table> </section> <section class="role notoc" id="listitem"> <h4 class="role-name" title="listitem" aria-describedby="desc-listitem"><code>listitem</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-listitem" role="definition"> <p>A single item in a list or directory.</p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-39">elements</a> whose <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-51">role</a> is <code>listitem</code> are contained in, or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-17">owned</a> by, an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-40">element</a> whose <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-52">role</a> is <a href="#list" class="role-reference"><code>list</code></a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><li></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"> <ul> <li><a href="#directory" class="role-reference"><code>directory</code></a></li> <li><a href="#list" class="role-reference"><code>list</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-level" class="property-reference"><code>aria-level</code></a></li> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="log"> <h4 class="role-name" title="log" aria-describedby="desc-log"><code>log</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-log" role="definition"> <p>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-4">live region</a> where new information is added in meaningful order and old information may disappear. See related <a href="#marquee" class="role-reference"><code>marquee</code></a>.</p> <p>Examples include chat logs, messaging history, game log, or an error log. In contrast to other live regions, in this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-53">role</a> there is a <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-6">relationship</a> between the arrival of new items in the log and the reading order. The log contains a meaningful sequence and new information is added only to the end of the log, not at arbitrary points.</p> <p>Elements with the role <code>log</code> have an implicit <a href="#aria-live" class="property-reference"><code>aria-live</code></a> value of <code>polite</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values">Default for <a href="#aria-live" class="property-reference"><code>aria-live</code></a> is <code class="default">polite</code>.</td> </tr> </tbody> </table> </section> <section class="role notoc" id="main"> <h4 class="role-name" title="main" aria-describedby="desc-main"><code>main</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-main" role="definition"> <p>A <a href="#landmark" class="role-reference"><code>landmark</code></a> containing the main content of a document.</p> <p>This marks the content that is directly related to or expands upon the central topic of the document. The <code>main</code> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-54">role</a> is a non-obtrusive alternative for "skip to main content" links, where the navigation option to go to the main content (or other <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-8">landmarks</a>) is provided by the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-32">user agent</a> through a dialog or by <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-35">assistive technologies</a>.</p> <p>User agents <em class="rfc2119">SHOULD</em> treat elements with the role of <code>main</code> as navigational landmarks.</p> <p>Within any <a href="#document" class="role-reference"><code>document</code></a> or <a href="#application" class="role-reference"><code>application</code></a>, the author <em class="rfc2119">SHOULD</em> mark no more than one <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-41">element</a> with the <code>main</code> role.</p> <div class="note" role="note" id="issue-container-generatedID-23"><div role="heading" class="note-title marker" id="h-note-21" aria-level="4"><span>Note</span></div><p class="">Because <code>document</code> and <code>application</code> elements can be nested in the <abbr title="Document Object Model">DOM</abbr>, they may have multiple <code>main</code> elements as <abbr title="Document Object Model">DOM</abbr> descendants, assuming each of those is associated with different document nodes, either by a <abbr title="Document Object Model">DOM</abbr> nesting (e.g., <a href="#document" class="role-reference"><code>document</code></a> within <a href="#document" class="role-reference"><code>document</code></a>) or by use of the <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> attribute.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#landmark" class="role-reference"><code>landmark</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="marquee"> <h4 class="role-name" title="marquee" aria-describedby="desc-marquee"><code>marquee</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-marquee" role="definition"> <p>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-5">live region</a> where non-essential information changes frequently. See related <a href="#log" class="role-reference"><code>log</code></a>.</p> <p>Common usages of <code>marquee</code> include stock tickers and ad banners. The primary difference between a <code>marquee</code> and a <a href="#log" class="role-reference"><code>log</code></a> is that logs usually have a meaningful order or sequence of important content changes.</p> <p>Elements with the role <code>marquee</code> have an implicit <a href="#aria-live" class="property-reference"><code>aria-live</code></a> value of <code>off</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="math"> <h4 class="role-name" title="math" aria-describedby="desc-math"><code>math</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-math" role="definition"> <p>Content that represents a mathematical expression.</p> <p>Content with the role <code>math</code> is intended to be marked up in an accessible format such as <cite><a href="https://www.w3.org/TR/MathML3/"><abbr title="Mathematical Markup Language">MathML</abbr></a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-mathml3" title="Mathematical Markup Language (MathML) Version 3.0 2nd Edition">MathML3</a></cite>], or with another type of textual representation such as TeX or LaTeX, which can be converted to an accessible format by native browser implementations or a polyfill library.</p> <p>While it is not ideal to use an image of a mathematical expression, there exists a significant amount of legacy content where images are used to represent mathematical expressions. Authors <em class="rfc2119">SHOULD</em> ensure that images of math are labeled by text that describes the mathematical expression as it might be spoken.</p> <div class="note" role="note" id="issue-container-generatedID-24"><div role="heading" class="note-title marker" id="h-note-22" aria-level="4"><span>Note</span></div><div class=""> <p>Browsers that support native implementations of <abbr title="Mathematical Markup Language">MathML</abbr> are able to provide a more robust, accessible math experience than can be accomplished with plain text approximations of math. Some rendering engines have close integration with screen readers that allow spacial touch exploration of the formula and refreshable braille display output in the <a href="#dfn-nemeth-braille" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-nemeth-braille-1">Nemeth Braille</a> format. This level of integration is not supported with images of mathematical formulas, even if the author provides a plain text approximation.</p> <p>At the time of this writing, some mainstream browsers do not support <abbr title="Mathematical Markup Language">MathML</abbr> natively, and must be retrofit using a JavaScript polyfill library. When authoring math content, use native <abbr title="Mathematical Markup Language">MathML</abbr> wherever possible, and test thoroughly. Use a polyfill library or provide a fallback image with a text alternative approximation if necessary.</p> </div></div> <div class="header-wrapper"><h4 id="mathml-example-with-embedded-tex-annotation"><abbr title="Mathematical Markup Language">MathML</abbr> Example with Embedded TeX Annotation</h4><a class="self-link" href="#mathml-example-with-embedded-tex-annotation" aria-label="Permalink for this Section"></a></div> <div class="example" id="example-7"> <div class="marker"> <a class="self-link" href="#example-7">Example<bdi> 7</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-comment"><!-- <span class="hljs-doctag">Note:</span> Use a JavaScript polyfill library to ensure this renders in user agents that do not support MathML. --></span> <span class="hljs-comment"><!-- The math element has an implicit role="math". --></span> <span class="hljs-tag"><<span class="hljs-name">math</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">"http://www.w3.org/1998/Math/MathML"</span>></span> <span class="hljs-tag"><<span class="hljs-name">mrow</span>></span> <span class="hljs-tag"><<span class="hljs-name">mi</span>></span>x<span class="hljs-tag"></<span class="hljs-name">mi</span>></span> <span class="hljs-tag"><<span class="hljs-name">mo</span>></span>=<span class="hljs-tag"></<span class="hljs-name">mo</span>></span> <span class="hljs-tag"><<span class="hljs-name">mfrac</span>></span> <span class="hljs-tag"><<span class="hljs-name">mrow</span>></span> <span class="hljs-tag"><<span class="hljs-name">mo</span> <span class="hljs-attr">form</span>=<span class="hljs-string">"prefix"</span>></span>−<span class="hljs-tag"></<span class="hljs-name">mo</span>></span> <span class="hljs-tag"><<span class="hljs-name">mi</span>></span>b<span class="hljs-tag"></<span class="hljs-name">mi</span>></span> <span class="hljs-tag"><<span class="hljs-name">mo</span>></span>±<span class="hljs-tag"></<span class="hljs-name">mo</span>></span> <span class="hljs-tag"><<span class="hljs-name">msqrt</span>></span> <span class="hljs-tag"><<span class="hljs-name">msup</span>></span> <span class="hljs-tag"><<span class="hljs-name">mi</span>></span>b<span class="hljs-tag"></<span class="hljs-name">mi</span>></span> <span class="hljs-tag"><<span class="hljs-name">mn</span>></span>2<span class="hljs-tag"></<span class="hljs-name">mn</span>></span> <span class="hljs-tag"></<span class="hljs-name">msup</span>></span> <span class="hljs-tag"><<span class="hljs-name">mo</span>></span>−<span class="hljs-tag"></<span class="hljs-name">mo</span>></span> <span class="hljs-tag"><<span class="hljs-name">mn</span>></span>4<span class="hljs-tag"></<span class="hljs-name">mn</span>></span> <span class="hljs-tag"><<span class="hljs-name">mo</span>></span><span class="hljs-symbol">&#x2062;</span><span class="hljs-comment"><!-- &InvisibleTimes; --></span><span class="hljs-tag"></<span class="hljs-name">mo</span>></span> <span class="hljs-tag"><<span class="hljs-name">mi</span>></span>a<span class="hljs-tag"></<span class="hljs-name">mi</span>></span> <span class="hljs-tag"><<span class="hljs-name">mo</span>></span><span class="hljs-symbol">&#x2062;</span><span class="hljs-comment"><!-- &InvisibleTimes; --></span><span class="hljs-tag"></<span class="hljs-name">mo</span>></span> <span class="hljs-tag"><<span class="hljs-name">mi</span>></span>c<span class="hljs-tag"></<span class="hljs-name">mi</span>></span> <span class="hljs-tag"></<span class="hljs-name">msqrt</span>></span> <span class="hljs-tag"></<span class="hljs-name">mrow</span>></span> <span class="hljs-tag"><<span class="hljs-name">mrow</span>></span> <span class="hljs-tag"><<span class="hljs-name">mn</span>></span>2<span class="hljs-tag"></<span class="hljs-name">mn</span>></span> <span class="hljs-tag"><<span class="hljs-name">mo</span>></span><span class="hljs-symbol">&#x2062;</span><span class="hljs-comment"><!-- &InvisibleTimes; --></span><span class="hljs-tag"></<span class="hljs-name">mo</span>></span> <span class="hljs-tag"><<span class="hljs-name">mi</span>></span>a<span class="hljs-tag"></<span class="hljs-name">mi</span>></span> <span class="hljs-tag"></<span class="hljs-name">mrow</span>></span> <span class="hljs-tag"></<span class="hljs-name">mfrac</span>></span> <span class="hljs-tag"></<span class="hljs-name">mrow</span>></span> <span class="hljs-tag"><<span class="hljs-name">annotation</span> <span class="hljs-attr">encoding</span>=<span class="hljs-string">"TeX"</span>></span> x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} <span class="hljs-tag"></<span class="hljs-name">annotation</span>></span> <span class="hljs-tag"></<span class="hljs-name">math</span>></span></code></pre> </div> <div class="header-wrapper"><h4 id="plain-html-or-polyfill-dom-result-of-the-mathml-quadratic-formula">Plain <abbr title="Hypertext Markup Language">HTML</abbr> or Polyfill <abbr title="Document Object Model">DOM</abbr> Result of the <abbr title="Mathematical Markup Language">MathML</abbr> Quadratic Formula</h4><a class="self-link" href="#plain-html-or-polyfill-dom-result-of-the-mathml-quadratic-formula" aria-label="Permalink for this Section"></a></div> <p>If a rendering engine does not support a native math format such as <abbr title="Mathematical Markup Language">MathML</abbr>, authors <em class="rfc2119">MAY</em> use JavaScript to downgrade the content to a format the browser can display, such as this <abbr title="Hypertext Markup Language">HTML</abbr> image using a data URI and plain text alternative.</p> <div class="example" id="example-8"> <div class="marker"> <a class="self-link" href="#example-8">Example<bdi> 8</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"math"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"..."</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"x=⟮−b±√⟮b²−4ac⟯⟯÷2a"</span>></span></code></pre> </div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">False</td> </tr> </tbody> </table> </section> <section class="role notoc" id="meter"> <h4 class="role-name" title="meter" aria-describedby="desc-meter"><code>meter</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-meter" role="definition"> <p>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-42">element</a> that represents a scalar measurement within a known range, or a fractional value. See related <a href="#progressbar" class="role-reference"><code>progressbar</code></a>.</p> <p>Authors <em class="rfc2119">MAY</em> set <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> and <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> to indicate the minimum and maximum values for the <code>meter</code>. Otherwise, their implicit values follow the same rules as <code><input[type="range"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]:</p> <ul> <li>If <code>aria-valuemin</code> is missing or not a <a href="#valuetype_number">number</a>, it defaults to 0 (zero).</li> <li>If <code>aria-valuemax</code> is missing or not a <a href="#valuetype_number">number</a>, it defaults to 100.</li> </ul> <p>The value of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> <em class="rfc2119">MUST NOT</em> fall below or exceed the computed values of <code>aria-valuemin</code> and <code>aria-valuemax</code>, respectively.</p> <p>Authors <em class="rfc2119">SHOULD NOT</em> use the <code>meter</code> role to indicate progress; the <a href="#progressbar" class="role-reference"><code>progressbar</code></a> role exists to address that need.</p> <div class="note" role="note" id="issue-container-generatedID-25"><div role="heading" class="note-title marker" id="h-note-23" aria-level="4"><span>Note</span></div><p class="">Presently, there are no <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> properties corresponding to the <code>low</code>, <code>optimum</code>, and <code>high</code> attributes supported on the <code><meter></code> element in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]. The addition of these properties will be considered for ARIA version 1.3.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#range" class="role-reference"><code>range</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><meter></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a></li> <li><a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a></li> <li><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values"> Default for <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> is <code class="default">0</code>. <br> Default for <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> is <code class="default">100</code>. </td> </tr> </tbody> </table> </section> <section class="role notoc" id="menu"> <h4 class="role-name" title="menu" aria-describedby="desc-menu"><code>menu</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-menu" role="definition"> <p>A type of <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-17">widget</a> that offers a list of choices to the user.</p> <p>A menu is often a list of common actions or functions that the user can invoke. The <code>menu</code> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-55">role</a> is appropriate when a list of menu items is presented in a manner similar to a menu on a desktop application.</p> <p>To be <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-5">keyboard accessible</a>, authors <em class="rfc2119">SHOULD</em> manage focus of descendants for all instances of this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-56">role</a>, as described in <a href="#managingfocus">Managing Focus</a>.</p> <p>Elements with the role <code>menu</code> have an implicit <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> value of <code>vertical</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#select" class="role-reference"><code>select</code></a></li> </ul> </td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#menubar" class="role-reference"><code>menubar</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><a href="#list" class="role-reference"><code>list</code></a></td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#group" class="role-reference"><code>group</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#group" class="role-reference"><code>group</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values">Default for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> is <code class="default">vertical</code>.</td> </tr> </tbody> </table> </section> <section class="role notoc" id="menubar"> <h4 class="role-name" title="menubar" aria-describedby="desc-menubar"><code>menubar</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-menubar" role="definition"> <p>A presentation of <a href="#menu" class="role-reference"><code>menu</code></a> that usually remains visible and is usually presented horizontally.</p> <p>The <code>menubar</code> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-57">role</a> is used to create a menu bar similar to those found in Windows, Mac, and Gnome desktop applications. A menu bar is used to create a consistent set of frequently used commands. Authors <em class="rfc2119">SHOULD</em> ensure that <code>menubar</code> interaction is similar to the typical menu bar interaction in a desktop graphical user interface.</p> <p>To be <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-6">keyboard accessible</a>, authors <em class="rfc2119">SHOULD</em> manage focus of descendants for all instances of this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-58">role</a>, as described in <a href="#managingfocus">Managing Focus</a>.</p> <p>Elements with the role <code>menubar</code> have an implicit <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> value of <code>horizontal</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#menu" class="role-reference"><code>menu</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><a href="#toolbar" class="role-reference"><code>toolbar</code></a></td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#group" class="role-reference"><code>group</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#group" class="role-reference"><code>group</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values">Default for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> is <code class="default">horizontal</code>.</td> </tr> </tbody> </table> </section> <section class="role notoc" id="menuitem"> <h4 class="role-name" title="menuitem" aria-describedby="desc-menuitem"><code>menuitem</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-menuitem" role="definition"> <p>An option in a set of choices contained by a <a href="#menu" class="role-reference"><code>menu</code></a> or <a href="#menubar" class="role-reference"><code>menubar</code></a>.</p> <p>Authors <em class="rfc2119">MAY</em> disable a menu item with the <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> attribute. If the menu item has its <a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> attribute set to <code>true</code>, it indicates that the menu item may be used to launch a sub-level menu, and authors <em class="rfc2119">SHOULD</em> display a new sub-level menu when the menu item is activated.</p> <p>In order to identify that they are related <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-18">widgets</a>, authors <em class="rfc2119">MUST</em> ensure that menu items are <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-18">owned</a> by an element with role <a href="#menu" class="role-reference"><code>menu</code></a> or <a href="#menubar" class="role-reference"><code>menubar</code></a>. Authors <em class="rfc2119">MAY</em> separate menu items into sets by use of a <a href="#separator" class="role-reference"><code>separator</code></a> or an element with an equivalent role from the native markup language.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#command" class="role-reference"><code>command</code></a></li> </ul> </td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <ul> <li><a href="#listitem" class="role-reference"><code>listitem</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> </ul> </td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#menu" class="role-reference"><code>menu</code></a></li> <li><a href="#menubar" class="role-reference"><code>menubar</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="menuitemcheckbox"> <h4 class="role-name" title="menuitemcheckbox" aria-describedby="desc-menuitemcheckbox"><code>menuitemcheckbox</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-menuitemcheckbox" role="definition"> <p>A <a href="#menuitem" class="role-reference"><code>menuitem</code></a> with a checkable state whose possible <span>values</span> are <code>true</code>, <code>false</code>, or <code>mixed</code>.</p> <p>The <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-14">attribute</a> of a <code>menuitemcheckbox</code> indicates whether the menu item is checked (<code>true</code>), unchecked (<code>false</code>), or represents a sub-level menu of other menu items that have a mixture of checked and unchecked values (<code>mixed</code>).</p> <p>In order to identify that they are related <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-19">widgets</a>, authors <em class="rfc2119">MUST</em> ensure that menu item checkboxes are <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-19">owned</a> by an element with role <a href="#menu" class="role-reference"><code>menu</code></a> or <a href="#menubar" class="role-reference"><code>menubar</code></a>. Authors <em class="rfc2119">MAY</em> separate menu items into sets by use of a <a href="#separator" class="role-reference"><code>separator</code></a> or an element with an equivalent role from the native markup language.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> </ul> </td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><a href="#menuitem" class="role-reference"><code>menuitem</code></a></td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#menu" class="role-reference"><code>menu</code></a></li> <li><a href="#menubar" class="role-reference"><code>menubar</code></a></li> </ul> </td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"> <ul> <li><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> (state)</li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="menuitemradio"> <h4 class="role-name" title="menuitemradio" aria-describedby="desc-menuitemradio"><code>menuitemradio</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-menuitemradio" role="definition"> <p>A checkable <a href="#menuitem" class="role-reference"><code>menuitem</code></a> in a set of elements with the same role, only one of which can be checked at a time.</p> <p>Authors <em class="rfc2119">SHOULD</em> enforce that only one <code>menuitemradio</code> in a group can be checked at the same time. When one item in the group is checked, the previously checked item becomes unchecked (its <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-15">attribute</a> becomes <code>false</code>).</p> <p>In order to identify that they are related <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-20">widgets</a>, authors <em class="rfc2119">MUST</em> ensure that menu item radios are <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-20">owned</a> by an element with role <a href="#menu" class="role-reference"><code>menu</code></a> or <a href="#menubar" class="role-reference"><code>menubar</code></a>, or by a role <a href="#group" class="role-reference"><code>group</code></a> which itself is <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-21">owned</a> by an element with role <a href="#menu" class="role-reference"><code>menu</code></a> or <a href="#menubar" class="role-reference"><code>menubar</code></a>.</p> <p>If a <a href="#menu" class="role-reference"><code>menu</code></a> or <a href="#menubar" class="role-reference"><code>menubar</code></a> contains more than one group of <code>menuitemradio</code> elements, or if the menu contains one group and other, unrelated menu items, authors <em class="rfc2119">SHOULD</em> contain each set of related <code>menuitemradio</code> elements in an element using the <a href="#group" class="role-reference"><code>group</code></a> role. Authors <em class="rfc2119">MAY</em> also delimit the group from other menu items with an element using the <a href="#separator" class="role-reference"><code>separator</code></a> role, or an element with an equivalent role from the native markup language.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><a href="#menuitem" class="role-reference"><code>menuitem</code></a></td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#menu" class="role-reference"><code>menu</code></a></li> <li><a href="#menubar" class="role-reference"><code>menubar</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> (state) <strong>(required)</strong></li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> (state)</li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="navigation"> <h4 class="role-name" title="navigation" aria-describedby="desc-navigation"><code>navigation</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-navigation" role="definition"> <p>A <a href="#landmark" class="role-reference"><code>landmark</code></a> containing a collection of navigational <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-43">elements</a> (usually links) for navigating the document or related documents.</p> <p>User agents <em class="rfc2119">SHOULD</em> treat elements with the role of <code>navigation</code> as navigational <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-9">landmarks</a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#landmark" class="role-reference"><code>landmark</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><nav></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="none"> <h4 class="role-name" title="none" aria-describedby="desc-none"><code>none</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-none" role="definition"> <p>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-44">element</a> whose implicit native role semantics will not be mapped to the <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-20">accessibility <abbr title="Application Programing Interfaces">API</abbr></a>. See synonym <a href="#presentation" class="role-reference"><code>presentation</code></a>.</p> <div class="note" role="note" id="role-none-note-none"><div role="heading" class="note-title marker" id="h-note-24" aria-level="4"><span>Note</span></div><div class=""> <div class="header-wrapper"><h3 id="note-regarding-the-aria-1-1-none-role">Note regarding the ARIA 1.1 <code>none</code> role.</h3><a class="self-link" href="#note-regarding-the-aria-1-1-none-role" aria-label="Permalink for this Section"></a></div> <p>In ARIA 1.1, the working group introduced <code>none</code> as a synonym to the <a href="#presentation" class="role-reference"><code>presentation</code></a> role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously consider <code>role="presentation"</code> to be synonymous with <code>aria-hidden="true"</code>, and we believe <code>role="none"</code> conveys the actual meaning more unambiguously.</p> </div></div> </div> </section> <section class="role notoc" id="note"> <h4 class="role-name" title="note" aria-describedby="desc-note"><code>note</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-note" role="definition"> <p>A section whose content is parenthetic or ancillary to the main content of the resource.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="option"> <h4 class="role-name" title="option" aria-describedby="desc-option"><code>option</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-option" role="definition"> <p>A selectable item in a <a href="#listbox" class="role-reference"><code>listbox</code></a>.</p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-45">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-59">role</a> <code>option</code> are contained in, or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-22">owned</a> by, an element with the <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-60">role</a> <a href="#listbox" class="role-reference"><code>listbox</code></a> or <a href="#group" class="role-reference"><code>group</code></a> within a <code>listbox</code>. Options not associated with a <a href="#listbox" class="role-reference"><code>listbox</code></a> might not be correctly mapped to an <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-21">accessibility <abbr title="Application Programing Interfaces">API</abbr></a>.</p> <p>Elements with the role <code>option</code> have an implicit <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> value of <code>false</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#input" class="role-reference"><code>input</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><option></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <a href="#listitem" class="role-reference"><code>listitem</code></a> </td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> </ul> </td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"> <ul> <li><a href="#aria-selected" class="state-reference"><code>aria-selected</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></li> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values">Default for <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> is <code class="default">false</code>.</td> </tr> </tbody> </table> </section> <section class="role notoc" id="paragraph"> <h4 class="role-name" title="paragraph" aria-describedby="desc-paragraph"><code>paragraph</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-paragraph" role="definition"> <p>A paragraph of content.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><p></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="presentation"> <h4 class="role-name" title="presentation" aria-describedby="desc-presentation"><code>presentation</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-presentation" role="definition"> <p>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-46">element</a> whose implicit native role semantics will not be mapped to the <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-22">accessibility <abbr title="Application Programing Interfaces">API</abbr></a>. See synonym <a href="#none" class="role-reference"><code>none</code></a>.</p> <div class="note" role="note" id="role-presentation-note-none"><div role="heading" class="note-title marker" id="h-note-25" aria-level="4"><span>Note</span></div><div class=""> <div class="header-wrapper"><h3 id="note-regarding-the-aria-1-1-none-role-0">Note regarding the ARIA 1.1 <a href="#none" class="role-reference"><code>none</code></a> role.</h3><a class="self-link" href="#note-regarding-the-aria-1-1-none-role-0" aria-label="Permalink for this Section"></a></div> <p>In ARIA 1.1, the working group introduced <a href="#none" class="role-reference"><code>none</code></a> as a synonym to the <code>presentation</code> role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously consider <code>role="presentation"</code> to be synonymous with <code>aria-hidden="true"</code>, and we believe <code>role="none"</code> conveys the actual meaning more unambiguously.</p> <p>Until implementations include sufficient support for <code>role="none"</code>, web authors are advised to use the <code>presentation</code> role alone <code>role="presentation"</code> or redundantly as a fallback to the <a href="#none" class="role-reference"><code>none</code></a> role <code>role="none presentation"</code>.</p> </div></div> <p>The intended use is when an element is used to change the look of the page but does not have all the functional, interactive, or structural relevance implied by the element type, or may be used to provide for an accessible fallback in older browsers that do not support <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>.</p> <p>Example use cases:</p> <ul> <li>An element whose content is completely presentational (like a spacer image, decorative graphic, or clearing element);</li> <li>An image that is in a container with the <a href="#img" class="role-reference"><code>img</code></a> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-61">role</a> and where the full text alternative is available and is marked up with <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> and (if needed) <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>;</li> <li>An element used as an additional markup "hook" for <abbr title="Cascading Style Sheets">CSS</abbr>; or</li> <li>A layout table and/or any of its associated rows, cells, etc.</li> </ul> <p>For any element with a role of presentation and which is not focusable, the user agent <em class="rfc2119">MUST NOT</em> expose the implicit native semantics of the element (the role and its states and properties) to accessibility <abbr title="Application Programing Interfaces">APIs</abbr>. However, the user agent <em class="rfc2119">MUST</em> expose content and descendant elements that do not have an explicit or inherited role of presentation. Thus, the <code>presentation</code> role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.</p> <p>For example, according to an accessibility <abbr title="Application Programing Interface">API</abbr>, the following markup elements would appear to have identical role semantics (no role) and identical content.</p> <div class="example" id="example-9"> <div class="marker"> <a class="self-link" href="#example-9">Example<bdi> 9</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-comment"><!-- 1. [role="presentation"] negates the implicit 'heading' role semantics but does not affect the contents. --></span> <span class="hljs-tag"><<span class="hljs-name">h1</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"presentation"</span>></span> Sample Content <span class="hljs-tag"></<span class="hljs-name">h1</span>></span> <span class="hljs-comment"><!-- 2. There is no implicit role for span, so only the contents are exposed. --></span> <span class="hljs-tag"><<span class="hljs-name">span</span>></span> Sample Content <span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-comment"><!-- 3. Depending on styling and other factors, this role declaration is redundant in some implementations. --></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"presentation"</span>></span> Sample Content <span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-comment"><!-- 4. In all cases, the element contents are exposed to accessibility APIs without any implied role semantics. --></span> <span class="hljs-comment"><!-- <> --></span> Sample Content <span class="hljs-comment"><!-- </> --></span></code></pre> </div> <p>The <code>presentation</code> role is used on an element that has implicit native semantics, meaning that there is a default accessibility <abbr title="Application Programing Interface">API</abbr> role for the element. Some elements are only complete when additional descendant elements are provided. For example, in <abbr title="Hypertext Markup Language">HTML</abbr>, table elements (matching the <a href="#table" class="role-reference"><code>table</code></a> role) require <code>tr</code> descendants (the <a href="#row" class="role-reference"><code>row</code></a> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-62">role</a>), which in turn require <code>th</code> or <code>td</code> children (the <a href="#cell" class="role-reference"><code>cell</code></a>, <a href="#columnheader" class="role-reference"><code>columnheader</code></a>, <a href="#rowheader" class="role-reference"><code>rowheader</code></a> roles). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> as <a href="#mustContain">required owned elements</a>.</p> <p>When an explicit or inherited role of <code>presentation</code> is applied to an element with the implicit semantic of a <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role that has <a href="#mustContain">required owned elements</a>, in addition to the element with the explicit role of <code>presentation</code>, the user agent <em class="rfc2119">MUST</em> apply an inherited role of presentation to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of presentation is applied to a host language element which has required children as defined by the host language specification, in addition to the element with the explicit role of presentation, the user agent <em class="rfc2119">MUST</em> apply an inherited role of presentation to any required children that do not have an explicit role defined.</p> <p>In <abbr title="Hypertext Markup Language">HTML</abbr>, the <code><img></code> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-47">element</a> is treated as a single entity regardless of the type of image file. Consequently, using <code>role="presentation"</code> or <code>role="none"</code> on an <abbr title="Hypertext Markup Language">HTML</abbr> <code>img</code> is equivalent to using <code>aria-hidden="true"</code>. In order to make the image contents accessible, authors can embed the object using an <code><object></code> or <code><iframe></code> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-48">element</a>, or use inline <abbr title="Scalable Vector Graphics">SVG</abbr> code, and follow the accessibility guidelines for the image content.</p> <p>For any element with an explicit or inherited role of presentation and which is not focusable, user agents <em class="rfc2119">MUST</em> ignore role-specific <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> states and properties for that element. For example, in <abbr title="Hypertext Markup Language">HTML</abbr>, a <code>ul</code> or <code>ol</code> element with a role of <code>presentation</code> will have the implicit native semantics of its <code>li</code> elements removed because the <a href="#list" class="role-reference"><code>list</code></a> role to which the <code>ul</code> or <code>ol</code> corresponds has a <a href="#mustContain">required owned element</a> of <a href="#listitem" class="role-reference"><code>listitem</code></a>. Likewise, the implicit native semantics of an <abbr title="Hypertext Markup Language">HTML</abbr> <code>table</code> element's <code>thead</code>/<code>tbody</code>/<code>tfoot</code>/<code>tr</code>/<code>th</code>/<code>td</code> descendants will also be removed, because the <abbr title="Hypertext Markup Language">HTML</abbr> specification indicates that these are required structural descendants of the <code>table</code> element.</p> <div class="note" role="note" id="issue-container-generatedID-26"><div role="heading" class="note-title marker" id="h-note-26" aria-level="4"><span>Note</span></div><p class="">Only the implicit native semantics of elements that correspond to <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#mustContain">required owned elements</a> are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of <code>presentation</code> applied.</p></div> <p>For example, according to an accessibility <abbr title="Application Programing Interface">API</abbr>, the following markup elements would appear to have identical role semantics (no roles) and identical content.</p> <div class="example" id="example-10"> <div class="marker"> <a class="self-link" href="#example-10">Example<bdi> 10</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-comment"><!-- 1. [role="presentation"] negates the implicit 'list' and 'listitem' role semantics but does not affect the contents. --></span> <span class="hljs-tag"><<span class="hljs-name">ul</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"presentation"</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span>></span> Sample Content <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span>></span> More Sample Content <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"></<span class="hljs-name">ul</span>></span> <span class="hljs-comment"><!-- 2. There is no implicit role for "foo", so only the contents are exposed. --></span> <span class="hljs-tag"><<span class="hljs-name">foo</span>></span> <span class="hljs-tag"><<span class="hljs-name">foo</span>></span> Sample Content <span class="hljs-tag"></<span class="hljs-name">foo</span>></span> <span class="hljs-tag"><<span class="hljs-name">foo</span>></span> More Sample Content <span class="hljs-tag"></<span class="hljs-name">foo</span>></span> <span class="hljs-tag"></<span class="hljs-name">foo</span>></span></code></pre> </div> <div class="note" role="note" id="issue-container-generatedID-27"><div role="heading" class="note-title marker" id="h-note-27" aria-level="4"><span>Note</span></div><p class="">There are other <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles with required children for which this situation is applicable (e.g., radiogroups and listboxes), but tables and lists are the most common real-world cases in which the presentation inheritance is likely to apply.</p></div> <p>For any element with an explicit or inherited role of <code>presentation</code>, user agents <em class="rfc2119">MUST</em> apply an inherited role of <code>presentation</code> to all host-language-specific labeling elements for the presentational element. For example, a <code>table</code> element with a role of <code>presentation</code> will have the implicit native semantics of its <code>caption</code> element removed, because the caption is merely a label for the presentational table.</p> <p>Authors <em class="rfc2119">SHOULD NOT</em> provide meaningful alternative text (for example, use <code>alt=""</code> in <abbr title="Hypertext Markup Language">HTML</abbr>) when the <code>presentation</code> role is applied to an image.</p> <p>In the following code sample, the containing <a href="#img" class="role-reference"><code>img</code></a> and is appropriately labeled by the caption paragraph. In this example the <code>img</code> element can be marked as presentation because the role and the text alternatives are provided by the containing element.</p> <div class="example" id="example-11"> <div class="marker"> <a class="self-link" href="#example-11">Example<bdi> 11</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"img"</span> <span class="hljs-attr">aria-labelledby</span>=<span class="hljs-string">"caption"</span>></span> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"example.png"</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"presentation"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">""</span>></span> <span class="hljs-tag"><<span class="hljs-name">p</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"caption"</span>></span>A visible text caption labeling the image.<span class="hljs-tag"></<span class="hljs-name">p</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> <p>In the following code sample, because the anchor (<abbr title="Hypertext Markup Language">HTML</abbr> <code>a</code> element) is acting as the treeitem, the list item (<abbr title="Hypertext Markup Language">HTML</abbr> <code>li</code> element) is assigned an explicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role of presentation to override the user agent's implicit native semantics for list items.</p> <div class="example" id="example-12"> <div class="marker"> <a class="self-link" href="#example-12">Example<bdi> 12</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">ul</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"tree"</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"presentation"</span>></span> <span class="hljs-tag"><<span class="hljs-name">a</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"treeitem"</span> <span class="hljs-attr">aria-expanded</span>=<span class="hljs-string">"true"</span>></span>An expanded tree node<span class="hljs-tag"></<span class="hljs-name">a</span>></span> <span class="hljs-tag"></<span class="hljs-name">li</span>></span> … <span class="hljs-tag"></<span class="hljs-name">ul</span>></span></code></pre> </div> <section id="conflict_resolution_presentation_none"> <div class="header-wrapper"><h4 id="presentational-roles-conflict-resolution">Presentational Roles Conflict Resolution</h4><a class="self-link" href="#conflict_resolution_presentation_none" aria-label="Permalink for this Section"></a></div> <p>There are a number of ways presentational role conflicts are resolved.</p> <p>User agents <em class="rfc2119">MUST NOT</em> expose <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-49">elements</a> having explicit or inherited presentational role in the accessibility tree, with these exceptions:</p> <ul> <li>If an element is focusable, or otherwise interactive, user agents <em class="rfc2119">MUST</em> ignore the <code>presentation</code> role and expose the element with its implicit role, in order to ensure that the element is <a href="#dfn-operable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-operable-3">operable</a>.</li> <li>If a <a href="#mustContain">required owned element</a> has an explicit non-presentational role, user agents <em class="rfc2119">MUST</em> ignore an inherited presentational role and expose the element with its explicit role. If the action of exposing the explicit role causes the accessibility tree to be malformed, the expected results are undefined.</li> <li>If an element has global <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> states or properties, user agents <em class="rfc2119">MUST</em> ignore the <code>presentation</code> role and expose the element with its implicit role. However, if an element has only non-global, role-specific <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> states or properties, the element <em class="rfc2119">MUST NOT</em> be exposed unless the presentational role is inherited and an explicit non-presentational role is applied.</li> </ul> <p>For example, <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> is a global attribute and would always be applied; <a href="#aria-level" class="property-reference"><code>aria-level</code></a> is not a global attribute and would therefore only apply if the element was not in a presentational state.</p> <div class="example" id="example-13"> <div class="marker"> <a class="self-link" href="#example-13">Example<bdi> 13</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-comment"><!-- 1. [role="presentation"] is ignored due to the global aria-describedby property. --></span> <span class="hljs-tag"><<span class="hljs-name">h1</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"presentation"</span> <span class="hljs-attr">aria-describedby</span>=<span class="hljs-string">"comment-1"</span>></span> Sample Content <span class="hljs-tag"></<span class="hljs-name">h1</span>></span> <span class="hljs-comment"><!-- 2. [role="presentation"] negates both the implicit 'heading' and the non-global aria-level. --></span> <span class="hljs-tag"><<span class="hljs-name">h1</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"presentation"</span> <span class="hljs-attr">aria-level</span>=<span class="hljs-string">"2"</span>></span> Sample Content <span class="hljs-tag"></<span class="hljs-name">h1</span>></span></code></pre> </div> </section> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#structure" class="role-reference"><code>structure</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="progressbar"> <h4 class="role-name" title="progressbar" aria-describedby="desc-progressbar"><code>progressbar</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-progressbar" role="definition"> <p>An <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-50">element</a> that displays the progress status for tasks that take a long time.</p> <p>A progressbar indicates that the user's request has been received and the application is making progress toward completing the requested action.</p> <p>Authors <em class="rfc2119">MAY</em> set <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> and <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> to indicate the minimum and maximum progress indicator values. Otherwise, their implicit values follow the same rules as <code><input[type="range"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]:</p> <ul> <li>If <code>aria-valuemin</code> is missing or not a <a href="#valuetype_number">number</a>, it defaults to 0 (zero).</li> <li>If <code>aria-valuemax</code> is missing or not a <a href="#valuetype_number">number</a>, it defaults to 100.</li> </ul> <p>The author <em class="rfc2119">SHOULD</em> supply a <span>value</span> for <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> unless the value is indeterminate, in which case the author <em class="rfc2119">SHOULD</em> omit the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> attribute. Authors <em class="rfc2119">SHOULD</em> update this value when the visual progress indicator is updated. If the <code>progressbar</code> is describing the loading progress of a particular region of a page, the author <em class="rfc2119">SHOULD</em> use <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> to point to the status, and set the <a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> attribute to <code>true</code> on the region until it is finished loading. It is not possible for the user to alter the value of a <code>progressbar</code> because it is always read-only.</p> <div class="note" role="note" id="issue-container-generatedID-28"><div role="heading" class="note-title marker" id="h-note-28" aria-level="4"><span>Note</span></div><p class="">Assistive technologies generally will render the value of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> as a percent of a range between the value of <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> and <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a>, unless <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> is specified.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#range" class="role-reference"><code>range</code></a></li> <li><a href="#widget" class="role-reference"><code>widget</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><a href="#status" class="role-reference"><code>status</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a></li> <li><a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a></li> <li><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></li> <li><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values"> Default for <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> is <code class="default">0</code>. <br> Default for <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> is <code class="default">100</code>. <br> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="radio"> <h4 class="role-name" title="radio" aria-describedby="desc-radio"><code>radio</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-radio" role="definition"> <p>A checkable input in a group of elements with the same role, only one of which can be checked at a time.</p> <p>Authors <em class="rfc2119">SHOULD</em> ensure that <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-51">elements</a> with role <code>radio</code> are explicitly grouped in order to indicate which ones affect the same value. This is achieved by enclosing the radio elements in an element with role <a href="#radiogroup" class="role-reference"><code>radiogroup</code></a>. If it is not possible to make the radio buttons <abbr title="Document Object Model">DOM</abbr> children of the <a href="#radiogroup" class="role-reference"><code>radiogroup</code></a>, authors <em class="rfc2119">SHOULD</em> use the <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-16">attribute</a> on the <a href="#radiogroup" class="role-reference"><code>radiogroup</code></a> element to indicate the <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-7">relationship</a> to its children.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#input" class="role-reference"><code>input</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><input[type="radio"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"> <ul> <li><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="radiogroup"> <h4 class="role-name" title="radiogroup" aria-describedby="desc-radiogroup"><code>radiogroup</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-radiogroup" role="definition"> <p>A group of <a href="#radio" class="role-reference"><code>radio</code></a> buttons.</p> <p>A <code>radiogroup</code> is a type of <a href="#select" class="role-reference"><code>select</code></a> list that can only have a single entry checked at any one time. Authors <em class="rfc2119">SHOULD</em> enforce that only one radio button in a group can be checked at the same time. When one item in the group is checked, the previously checked item becomes unchecked (its <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-17">attribute</a> becomes <code>false</code>).</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#select" class="role-reference"><code>select</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td><a href="#list" class="role-reference"><code>list</code></a></td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"><a href="#radio" class="role-reference"><code>radio</code></a></td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="range"> <h4 class="role-name" title="range" aria-describedby="desc-range"><code>range</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-range" role="definition"> <p>An element representing a range of values.</p> <div class="note" role="note" id="issue-container-generatedID-29"><div role="heading" class="note-title marker" id="h-note-29" aria-level="4"><span>Note</span></div><p class=""><code>range</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#structure" class="role-reference"><code>structure</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#meter" class="role-reference"><code>meter</code></a></li> <li><a href="#progressbar" class="role-reference"><code>progressbar</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a></li> <li><a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a></li> <li><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></li> <li><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="region"> <h4 class="role-name" title="region" aria-describedby="desc-region"><code>region</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-region" role="definition"> <p>A <a href="#landmark" class="role-reference"><code>landmark</code></a> containing content that is relevant to a specific, author-specified purpose and sufficiently important that users will likely want to be able to navigate to the section easily and to have it listed in a summary of the page. Such a page summary could be generated dynamically by a user agent or assistive technology.</p> <p>Authors <em class="rfc2119">SHOULD</em> limit use of the region role to sections containing content with a purpose that is not accurately described by one of the other <a href="#landmark" class="role-reference"><code>landmark</code></a> roles, such as <a href="#main" class="role-reference"><code>main</code></a>, <a href="#complementary" class="role-reference"><code>complementary</code></a>, or <a href="#navigation" class="role-reference"><code>navigation</code></a>.</p> <p>Authors <em class="rfc2119">MUST</em> give each element with role region a brief label that describes the purpose of the content in the region. Authors <em class="rfc2119">SHOULD</em> reference a visible label with <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> if a visible label is present. Authors <em class="rfc2119">SHOULD</em> include the label inside of a heading whenever possible. The heading <em class="rfc2119">MAY</em> be an instance of the standard host language heading element or an instance of an element with role <a href="#heading" class="role-reference"><code>heading</code></a>.</p> <p><a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-36">Assistive technologies</a> <em class="rfc2119">SHOULD</em> enable users to quickly navigate to elements with role region. Mainstream <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-33">user agents</a> <em class="rfc2119">MAY</em> enable users to quickly navigate to elements with role region.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#landmark" class="role-reference"><code>landmark</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><section></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="roletype"> <h4 class="role-name" title="roletype" aria-describedby="desc-roletype"><code>roletype</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-roletype" role="definition"> <p>The base <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-63">role</a> from which all other roles inherit.</p> <p>Properties of this role describe the structural and functional purpose of <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-18">objects</a> that are assigned this role. A role is a concept that can be used to understand and operate instances.</p> <div class="note" role="note" id="issue-container-generatedID-30"><div role="heading" class="note-title marker" id="h-note-30" aria-level="4"><span>Note</span></div><p class=""><code>roletype</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#structure" class="role-reference"><code>structure</code></a></li> <li><a href="#widget" class="role-reference"><code>widget</code></a></li> <li><a href="#window" class="role-reference"><code>window</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"><ul><li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy (state)</code></a></li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current (state)</code></a></li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled (state)</code></a> (Global use deprecated in ARIA 1.2)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> (Global use deprecated in ARIA 1.2)</li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed (state)</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> (Global use deprecated in ARIA 1.2)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden (state)</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid (state)</code></a> (Global use deprecated in ARIA 1.2)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a> (Except where prohibited)</li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> (Except where prohibited)</li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul></td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li><abbr title="not applicable">n/a</abbr></li> </ul> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="row"> <h4 class="role-name" title="row" aria-describedby="desc-row"><code>row</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-row" role="definition"> <p>A row of cells in a tabular container.</p> <p>Rows contain <a href="#cell" class="role-reference"><code>cell</code></a> or <a href="#gridcell" class="role-reference"><code>gridcell</code></a> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-52">elements</a>, and thus serve to organize a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p> <p>While the row role can be used in a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>, the semantics of <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a>, <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a>, <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a>, and <a href="#aria-level" class="property-reference"><code>aria-level</code></a> are only applicable to the hierarchical structure of an interactive tree grid. Therefore, authors <em class="rfc2119">MUST NOT</em> apply <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a>, <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a>, <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a>, and <a href="#aria-level" class="property-reference"><code>aria-level</code></a> to a <a href="#row" class="role-reference"><code>row</code></a> that descends from a <a href="#table" class="role-reference"><code>table</code></a> or <a href="#grid" class="role-reference"><code>grid</code></a>, and user agents <em class="rfc2119">SHOULD NOT</em> expose any of these four properties to assistive technologies unless the <a href="#row" class="role-reference"><code>row</code></a> descends from a <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. </p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-53">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-64">role</a> <code>row</code> are contained in, or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-23">owned</a> by, an element with the role <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, <a href="#rowgroup" class="role-reference"><code>rowgroup</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p> <div class="note" role="note" id="issue-container-generatedID-31"><div role="heading" class="note-title marker" id="h-note-31" aria-level="4"><span>Note</span><span class="issue-label">: Usage of aria-disabled</span></div><p class="">While <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> is currently supported on <a href="#row" class="role-reference"><code>row</code></a>, in a future version the working group plans to prohibit its on elements with role <a href="#row" class="role-reference"><code>row</code></a> except when the element is in the context of a <a href="#grid" class="role-reference"><code>grid</code></a> or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#widget" class="role-reference"><code>widget</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><tr></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"> <ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#rowgroup" class="role-reference"><code>rowgroup</code></a></li> <li><a href="#table" class="role-reference"><code>table</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"> <ul> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-level" class="property-reference"><code>aria-level</code></a></li> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> <li><a href="#aria-selected" class="state-reference"><code>aria-selected</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="rowgroup"> <h4 class="role-name" title="rowgroup" aria-describedby="desc-rowgroup"><code>rowgroup</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-rowgroup" role="definition"> <p>A structure containing one or more row elements in a tabular container.</p> <p>The <code>rowgroup</code> role establishes a <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-8">relationship</a> between <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-24">owned</a> <a href="#row" class="role-reference"><code>row</code></a> elements. It is a structural equivalent to the <code>thead</code>, <code>tfoot</code>, and <code>tbody</code> elements in an <abbr title="Hypertext Markup Language">HTML</abbr> <code>table</code> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-54">element</a>.</p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-55">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-65">role</a> <code>rowgroup</code> are contained in, or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-25">owned</a> by, an element with the role <a href="#grid" class="role-reference"><code>grid</code></a>, <a href="#table" class="role-reference"><code>table</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p> <div class="note" role="note" id="issue-container-generatedID-32"><div role="heading" class="note-title marker" id="h-note-32" aria-level="4"><span>Note</span></div><p class="">The <code>rowgroup</code> role exists, in part, to support role symmetry in <abbr title="Hypertext Markup Language">HTML</abbr>, and allows for the propagation of presentation inheritance on <abbr title="Hypertext Markup Language">HTML</abbr> <code>table</code> elements with an explicit <code>presentation</code> role applied.</p></div> <div class="note" role="note" id="issue-container-generatedID-33"><div role="heading" class="note-title marker" id="h-note-33" aria-level="4"><span>Note</span></div><p class="">This role does not differentiate between types of row groups (e.g., <code>thead</code> vs. <code>tbody</code>), but an issue has been raised for <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> 2.0.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#structure" class="role-reference"><code>structure</code></a></td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><tbody></code>, <code><tfoot></code> and <code><thead></code>in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"> <ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#table" class="role-reference"><code>table</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"><a href="#row" class="role-reference"><code>row</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="rowheader"> <h4 class="role-name" title="rowheader" aria-describedby="desc-rowheader"><code>rowheader</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-rowheader" role="definition"> <p>A cell containing header information for a row.</p> <p>The <a href="#rowheader" class="role-reference"><code>rowheader</code></a> role can be used to identify a cell as a header for a row in a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. The rowheader establishes a <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-9">relationship</a> between it and all cells in the corresponding row. It is a structural equivalent to setting <code>scope="row"</code> on an <abbr title="Hypertext Markup Language">HTML</abbr> <code>th</code> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-56">element</a>.</p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-57">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-66">role</a> <code>rowheader</code> are contained in, or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-26">owned</a> by, an element with the role <a href="#row" class="role-reference"><code>row</code></a>.</p> <p>Applying the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> state on a rowheader <em class="rfc2119">MUST NOT</em> cause the user agent to automatically propagate the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> state to all the cells in the corresponding row. An author <em class="rfc2119">MAY</em> choose to propagate selection in this manner depending on the specific application.</p> <p>While the <code>rowheader</code> role can be used in both interactive grids and non-interactive tables, the use of <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a>, <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a>, and <a href="#aria-required" class="property-reference"><code>aria-required</code></a> is only applicable to interactive elements. Therefore, authors <em class="rfc2119">SHOULD NOT</em> use <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a>, <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a>, or <a href="#aria-required" class="property-reference"><code>aria-required</code></a> in a <code>rowheader</code> that descends from a <a href="#table" class="role-reference"><code>table</code></a>, and user agents <em class="rfc2119">SHOULD NOT</em> expose these properties to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-37">assistive technologies</a> unless the <code>rowheader</code> descends from a <a href="#grid" class="role-reference"><code>grid</code></a> or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p> <div class="note" role="note" id="issue-container-generatedID-34"><div role="heading" class="note-title marker" id="h-note-34" aria-level="4"><span>Note</span><span class="issue-label">: Usage of aria-disabled</span></div><p class="">While <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> is currently supported on <a href="#rowheader" class="role-reference"><code>rowheader</code></a>, in a future version the working group plans to prohibit its use on elements with role <a href="#rowheader" class="role-reference"><code>rowheader</code></a> except when the element is in the context of a <a href="#grid" class="role-reference"><code>grid</code></a> or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#sectionhead" class="role-reference"><code>sectionhead</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><th[scope="row"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"><a href="#row" class="role-reference"><code>row</code></a></td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-sort" class="property-reference"><code>aria-sort</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a></li> <li><a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a></li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a></li> <li><a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a></li> <li><a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> (state)</li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="scrollbar"> <h4 class="role-name" title="scrollbar" aria-describedby="desc-scrollbar"><code>scrollbar</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-scrollbar" role="definition"> <p>A graphical object that controls the scrolling of content within a viewing area, regardless of whether the content is fully displayed within the viewing area.</p> <p>A scrollbar represents the current value and range of possible values via the size of the scrollbar and position of the thumb with respect to the visible range of the orientation (horizontal or vertical) it controls. Its orientation represents the orientation of the scrollbar and the scrolling effect on the viewing area controlled by the scrollbar. It is typically possible to add or subtract to the current value by using directional keys such as arrow keys.</p> <p>Authors <em class="rfc2119">MUST</em> set the <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a> attribute on the scrollbar element to reference the scrollable area it controls.</p> <p>Authors <em class="rfc2119">MAY</em> set <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> and <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> to indicate the minimum and maximum thumb position. Otherwise, their implicit values follow the same rules as <code><input[type="range"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]:</p> <ul> <li>If <code>aria-valuemin</code> is missing or not a <a href="#valuetype_number">number</a>, it defaults to 0 (zero).</li> <li>If <code>aria-valuemax</code> is missing or not a <a href="#valuetype_number">number</a>, it defaults to 100.</li> </ul> <p>Authors <em class="rfc2119">MUST</em> set the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> attribute to indicate the current thumb position. If aria-valuenow is missing or has an unexpected value, browsers <em class="rfc2119">MAY</em> implement the repair techniques specified in the <a href="#authorErrorDefaultValuesTable">section describing handling author errors in states and properties</a>, which are equivalent to the repair techniques for <code><input[type="range"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>].</p> <p>Elements with the role <code>scrollbar</code> have an implicit <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> value of <code>vertical</code>.</p> <div class="note" role="note" id="issue-container-generatedID-35"><div role="heading" class="note-title marker" id="h-note-35" aria-level="4"><span>Note</span></div><p class="">Assistive technologies generally will render the value of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> as a percent of a range between the value of <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> and <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a>, unless <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> is specified. It is best to set the values for <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a>, <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a>, and <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> in a manner that is appropriate for this calculation.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#range" class="role-reference"><code>range</code></a></li> <li><a href="#widget" class="role-reference"><code>widget</code></a></li> </ul> </td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"> <ul> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a></li> <li><a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">False</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values"> Default for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> is <code class="default">vertical</code>. <br> Default for <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> is <code class="default">0</code>. <br> Default for <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> is <code class="default">100</code>. <br> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="search"> <h4 class="role-name" title="search" aria-describedby="desc-search"><code>search</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-search" role="definition"> <p>A <a href="#landmark" class="role-reference"><code>landmark</code></a> region that contains a collection of items and objects that, as a whole, combine to create a search facility. See related <a href="#form" class="role-reference"><code>form</code></a> and <a href="#searchbox" class="role-reference"><code>searchbox</code></a>.</p> <p>A search region may be a mix of host language form controls, scripted controls, and hyperlinks.</p> <p>User agents <em class="rfc2119">SHOULD</em> treat elements with the role of <code>search</code> as navigational <a href="#dfn-landmark" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-landmark-10">landmarks</a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#landmark" class="role-reference"><code>landmark</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="searchbox"> <h4 class="role-name" title="searchbox" aria-describedby="desc-searchbox"><code>searchbox</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-searchbox" role="definition"> <p>A type of textbox intended for specifying search criteria. See related <a href="#textbox" class="role-reference"><code>textbox</code></a> and <a href="#search" class="role-reference"><code>search</code></a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#textbox" class="role-reference"><code>textbox</code></a></td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><input[type="search"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-autocomplete" class="property-reference"><code>aria-autocomplete</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-multiline" class="property-reference"><code>aria-multiline</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-placeholder" class="property-reference"><code>aria-placeholder</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="section"> <h4 class="role-name" title="section" aria-describedby="desc-section"><code>section</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-section" role="definition"> <p>A renderable structural containment unit in a document or application.</p> <div class="note" role="note" id="issue-container-generatedID-36"><div role="heading" class="note-title marker" id="h-note-36" aria-level="4"><span>Note</span></div><p class=""><code>section</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#structure" class="role-reference"><code>structure</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#alert" class="role-reference"><code>alert</code></a></li> <li><a href="#blockquote" class="role-reference"><code>blockquote</code></a></li> <li><a href="#caption" class="role-reference"><code>caption</code></a></li> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> <li><a href="#code" class="role-reference"><code>code</code></a></li> <li><a href="#definition" class="role-reference"><code>definition</code></a></li> <li><a href="#deletion" class="role-reference"><code>deletion</code></a></li> <li><a href="#emphasis" class="role-reference"><code>emphasis</code></a></li> <li><a href="#figure" class="role-reference"><code>figure</code></a></li> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#img" class="role-reference"><code>img</code></a></li> <li><a href="#insertion" class="role-reference"><code>insertion</code></a></li> <li><a href="#landmark" class="role-reference"><code>landmark</code></a></li> <li><a href="#list" class="role-reference"><code>list</code></a></li> <li><a href="#listitem" class="role-reference"><code>listitem</code></a></li> <li><a href="#log" class="role-reference"><code>log</code></a></li> <li><a href="#marquee" class="role-reference"><code>marquee</code></a></li> <li><a href="#math" class="role-reference"><code>math</code></a></li> <li><a href="#note" class="role-reference"><code>note</code></a></li> <li><a href="#paragraph" class="role-reference"><code>paragraph</code></a></li> <li><a href="#status" class="role-reference"><code>status</code></a></li> <li><a href="#strong" class="role-reference"><code>strong</code></a></li> <li><a href="#subscript" class="role-reference"><code>subscript</code></a></li> <li><a href="#superscript" class="role-reference"><code>superscript</code></a></li> <li><a href="#table" class="role-reference"><code>table</code></a></li> <li><a href="#tabpanel" class="role-reference"><code>tabpanel</code></a></li> <li><a href="#term" class="role-reference"><code>term</code></a></li> <li><a href="#time" class="role-reference"><code>time</code></a></li> <li><a href="#tooltip" class="role-reference"><code>tooltip</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"><abbr title="not applicable">n/a</abbr></td> </tr> </tbody> </table> </section> <section class="role notoc" id="sectionhead"> <h4 class="role-name" title="sectionhead" aria-describedby="desc-sectionhead"><code>sectionhead</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-sectionhead" role="definition"> <p>A structure that labels or summarizes the topic of its related section.</p> <div class="note" role="note" id="issue-container-generatedID-37"><div role="heading" class="note-title marker" id="h-note-37" aria-level="4"><span>Note</span></div><p class=""><code>sectionhead</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#structure" class="role-reference"><code>structure</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#heading" class="role-reference"><code>heading</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="select"> <h4 class="role-name" title="select" aria-describedby="desc-select"><code>select</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-select" role="definition"> <p>A form widget that allows the user to make selections from a set of choices.</p> <div class="note" role="note" id="issue-container-generatedID-38"><div role="heading" class="note-title marker" id="h-note-38" aria-level="4"><span>Note</span></div><p class=""><code>select</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#composite" class="role-reference"><code>composite</code></a></li> <li><a href="#group" class="role-reference"><code>group</code></a></li> </ul> </td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#menu" class="role-reference"><code>menu</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="separator"> <h4 class="role-name" title="separator" aria-describedby="desc-separator"><code>separator</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-separator" role="definition"> <p>A divider that separates and distinguishes sections of content or groups of menuitems.</p> <p>There are two types of separators: a static <a href="#structure" class="role-reference"><code>structure</code></a> that provides only a visible boundary and a focusable, interactive <a href="#widget" class="role-reference"><code>widget</code></a> that is also moveable. If a <code>separator</code> is not focusable, it is revealed to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-38">assistive technologies</a> as a static structural element. For example, a static <code>separator</code> can be used to help visually divide two groups of menu items in a menu or to provide a horizontal rule between two sections of a page.</p> <p>Authors <em class="rfc2119">MAY</em> make a <code>separator</code> focusable to create a <a href="#widget" class="role-reference"><code>widget</code></a> that both provides a visible boundary between two sections of content and enables the user to change the relative size of the sections by changing the position of the <code>separator</code>. A variable <code>separator</code> widget can be moved continuously within a range, whereas a fixed <code>separator</code> widget supports only two discrete positions. Typically, a fixed <code>separator</code> widget is used to toggle one of the sections between expanded and collapsed states.</p> <p>If the <code>separator</code> is focusable, authors <em class="rfc2119">MUST</em> set the value of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> to a <a href="#valuetype_number">number</a> reflecting the current position of the <code>separator</code> and update that value when it changes. Authors <em class="rfc2119">SHOULD</em> also provide the value of <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> if it is not <code>0</code> and the value of <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> if it is not <code>100</code>. If missing or not a number, the implicit values of these attributes are as follows:</p> <ul> <li>The implicit value of <code>aria-valuemin</code> is <code>0</code>.</li> <li>The implicit value of <code>aria-valuemax</code> is <code>100</code>.</li> </ul> <p>In applications where there is more than one focusable <code>separator</code>, authors <em class="rfc2119">SHOULD</em> provide an accessible name for each one.</p> <p>Elements with the role <code>separator</code> have an implicit <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> value of <code>horizontal</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#structure" class="role-reference"><code>structure</code></a> (if not focusable)</li> <li><a href="#widget" class="role-reference"><code>widget</code></a> (if focusable)</li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><hr></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> (if focusable)</td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (if focusable)</li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> (if focusable)</li> <li><a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> (if focusable)</li> <li><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> (if focusable)</li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values"> Default for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> is <code class="default">horizontal</code>.<br> Default for <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> is <code>0</code>.<br> Default for <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> is <code>100</code>. </td> </tr> </tbody> </table> </section> <section class="role notoc" id="slider"> <h4 class="role-name" title="slider" aria-describedby="desc-slider"><code>slider</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-slider" role="definition"> <p>An input where the user selects a value from within a given range.</p> <p>A slider represents the current value and range of possible values via the size of the slider and position of the thumb. It is typically possible to add or subtract to the value by using directional keys such as arrow keys.</p> <p>Authors <em class="rfc2119">MAY</em> set the <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> and <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> attributes. Otherwise, their implicit values follow the same rules as <code><input[type="range"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]:</p> <ul> <li>If <code>aria-valuemin</code> is missing or not a <a href="#valuetype_number">number</a>, it defaults to 0 (zero). </li> <li>If <code>aria-valuemax</code> is missing or not a <a href="#valuetype_number">number</a>, it defaults to 100. </li> </ul> <p>Authors <em class="rfc2119">MUST</em> set the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> attribute. If aria-valuenow is missing or has an unexpected value, browsers <em class="rfc2119">MAY</em> implement the repair techniques specified in the <a href="#authorErrorDefaultValuesTable">section describing handling author errors in states and properties</a>, which are equivalent to the repair techniques for <code><input[type="range"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>].</p> <p>Elements with the role <code>slider</code> have an implicit <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> value of <code>horizontal</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><ul> <li><a href="#input" class="role-reference"><code>input</code></a></li> <li><a href="#range" class="role-reference"><code>range</code></a></li> </ul></td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"> <ul> <li><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a></li> <li><a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values"> Default for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> is <code class="default">horizontal</code>. <br> Default for <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> is <code class="default">0</code>. <br> Default for <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> is <code class="default">100</code>. </td> </tr> </tbody> </table> </section> <section class="role notoc" id="spinbutton"> <h4 class="role-name" title="spinbutton" aria-describedby="desc-spinbutton"><code>spinbutton</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-spinbutton" role="definition"> <p>A form of <a href="#range" class="role-reference"><code>range</code></a> that expects the user to select from among discrete choices.</p> <p>A <code>spinbutton</code> typically allows users to change its displayed value by activating increment and decrement buttons that step through a set of allowed values. Some implementations display the value in an text field that allows editing and typing but typically limits input in ways that help prevent invalid values.</p> <p>Although a <code>spinbutton</code> is similar in appearance to many presentations of <code>select</code>, it is advisable to use <code>spinbutton</code> when working with known ranges (especially in the case of large ranges) as opposed to distinct options. For example, a <code>spinbutton</code> representing a range from 1 to 1,000,000 would provide much better performance than a <code>select</code> <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-21">widget</a> representing the same values.</p> <p>Authors <em class="rfc2119">MAY</em> create a <code>spinbutton</code> with children or owned elements, but <em class="rfc2119">MUST</em> limit those elements to a <a href="#textbox" class="role-reference"><code>textbox</code></a> and/or two <a href="#button" class="role-reference"><code>buttons</code></a>. Alternatively, authors <em class="rfc2119">MAY</em> apply the <a href="#spinbutton" class="role-reference"><code>spinbutton</code></a> role to a text input and create sibling buttons to support the increment and decrement functions.</p> <p>To be <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-7">keyboard accessible</a>, authors <em class="rfc2119">SHOULD</em> manage focus of descendants for all instances of this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-67">role</a>, as described in <a href="#managingfocus">Managing Focus</a>. When a <code>spinbutton</code> receives focus, authors <em class="rfc2119">SHOULD</em> ensure focus is placed on the <a href="#textbox" class="role-reference"><code>textbox</code></a> element if one is present, and on the <code>spinbutton</code> itself otherwise. Authors <em class="rfc2119">SHOULD</em> also ensure the <kbd>up</kbd> and <kbd>down</kbd> arrows on a keyboard perform the increment and decrement functions and that the increment and decrement <a href="#button" class="role-reference"><code>button</code></a> elements are <em>NOT</em> included in the primary navigation ring, e.g., the Tab ring in <abbr title="Hypertext Markup Language">HTML</abbr>.</p> <p>Authors <em class="rfc2119">SHOULD</em> set the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> attribute when the <a href="#spinbutton" class="role-reference"><code>spinbutton</code></a> has a value. Authors <em class="rfc2119">SHOULD</em> set the <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> attribute when there is a minimum value, and the <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> attribute when there is a maximum value.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#composite" class="role-reference"><code>composite</code></a></li> <li><a href="#input" class="role-reference"><code>input</code></a></li> <li><a href="#range" class="role-reference"><code>range</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> <li><a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a></li> <li><a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a></li> <li><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></li> <li><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values"> Default for <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> is that there is no minimum value.<br> Default for <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> is that there is no maximum value.<br> Default for <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> is <code class="default">0</code><br> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="status"> <h4 class="role-name" title="status" aria-describedby="desc-status"><code>status</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-status" role="definition"> <p>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-6">live region</a> whose content is advisory information for the user but is not important enough to justify an <a href="#alert" class="role-reference"><code>alert</code></a>, often but not necessarily presented as a status bar.</p> <p>Authors <em class="rfc2119">SHOULD</em> ensure an element with role <code>status</code> does not receive focus as a result of change in status.</p> <p>Status is a form of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-7">live region</a>. If another part of the page controls what appears in the status, authors <em class="rfc2119">SHOULD</em> make the <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-10">relationship</a> explicit with the <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-18">attribute</a>.</p> <p><a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-39">Assistive technologies</a> <em class="rfc2119">MAY</em> reserve some cells of a Braille display to render the status.</p> <p>Elements with the role <code>status</code> have an implicit <a href="#aria-live" class="property-reference"><code>aria-live</code></a> value of <code>polite</code> and an implicit <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a> value of <code>true</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#timer" class="role-reference"><code>timer</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values"> Default for <a href="#aria-live" class="property-reference"><code>aria-live</code></a> is <code class="default">polite</code>.<br> Default for <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a> is <code class="default">true</code>. </td> </tr> </tbody> </table> </section> <section class="role notoc" id="strong"> <h4 class="role-name" title="strong" aria-describedby="desc-strong"><code>strong</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-strong" role="definition"> <p>Content that is important, serious, or urgent. See related <a href="#emphasis" class="role-reference"><code>emphasis</code></a>.</p> <p>The purpose of the <code>strong</code> role is to communicate strong importance, seriousness, or urgency. It is not for communicating changes in typographical presentation that are not important to the meaning of the content. Authors <em class="rfc2119">SHOULD</em> use the <code>strong</code> role only if its absence would change the meaning of the content.</p> <p>The <code>strong</code> role is not intended to convey stress or emphasis; for that purpose, the <a href="#emphasis" class="role-reference"><code>emphasis</code></a> role is more appropriate.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><strong></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="structure"> <h4 class="role-name" title="structure" aria-describedby="desc-structure"><code>structure</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-structure" role="definition"> <p>A document structural <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-58">element</a>.</p> <p><a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-68">Roles</a> for document structure support the accessibility of dynamic web content by helping <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-40">assistive technologies</a> determine active content versus static document content. Structural roles by themselves do not all map to <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-23">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a>, but are used to create <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-22">widget</a> roles or assist content adaptation for assistive technologies.</p> <div class="note" role="note" id="issue-container-generatedID-39"><div role="heading" class="note-title marker" id="h-note-39" aria-level="4"><span>Note</span></div><p class=""><code>structure</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#roletype" class="role-reference"><code>roletype</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#application" class="role-reference"><code>application</code></a></li> <li><a href="#document" class="role-reference"><code>document</code></a></li> <li><a href="#generic" class="role-reference"><code>generic</code></a></li> <li><a href="#presentation" class="role-reference"><code>presentation</code></a></li> <li><a href="#range" class="role-reference"><code>range</code></a></li> <li><a href="#rowgroup" class="role-reference"><code>rowgroup</code></a></li> <li><a href="#section" class="role-reference"><code>section</code></a></li> <li><a href="#sectionhead" class="role-reference"><code>sectionhead</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li><abbr title="not applicable">n/a</abbr></li> </ul> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="subscript"> <h4 class="role-name" title="subscript" aria-describedby="desc-subscript"><code>subscript</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-subscript" role="definition"> <p>One or more subscripted characters. See related <a href="#superscript" class="role-reference"><code>superscript</code></a>.</p> <p>The <code>subscript</code> role is intended to be used only to mark up typographical conventions that have specific meanings; not for typographical presentation for presentation's sake. In general, authors <em class="rfc2119">SHOULD</em> use this role only if the absence of the subscript would change the meaning of the content.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><sub></code> and <code><sup></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="superscript"> <h4 class="role-name" title="superscript" aria-describedby="desc-superscript"><code>superscript</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-superscript" role="definition"> <p>One or more superscripted characters. See related <a href="#superscript" class="role-reference"><code>superscript</code></a>.</p> <p>The <code>superscript</code> role is intended to be used only to mark up typographical conventions that have specific meanings; not for typographical presentation for presentation's sake. In general, authors <em class="rfc2119">SHOULD</em> use this role only if the absence of the superscript would change the meaning of the content.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><sub></code> and <code><sup></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-disallowed-head" scope="row">Prohibited States and Properties:</th> <td class="role-disallowed"> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">prohibited</td> </tr> </tbody> </table> </section> <section class="role notoc" id="switch"> <h4 class="role-name" title="switch" aria-describedby="desc-switch"><code>switch</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-switch" role="definition"> <p>A type of checkbox that represents on/off values, as opposed to checked/unchecked values. See related <a href="#checkbox" class="role-reference"><code>checkbox</code></a>.</p> <p>The <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-19">attribute</a> of a <code>switch</code> indicates whether the input is on (<code>true</code>) or off (<code>false</code>). The <code>mixed</code> value is invalid, and user agents <em class="rfc2119">MUST</em> treat a <code>mixed</code> value as equivalent to <code>false</code> for this role.</p> <div class="note" role="note" id="issue-container-generatedID-40"><div role="heading" class="note-title marker" id="h-note-40" aria-level="4"><span>Note</span></div><p class="">A <code>switch</code> provides approximately the same functionality as a <code>checkbox</code> and toggle <code>button</code>, but makes it possible for assistive technologies to present the widget in a fashion consistent with its on-screen appearance.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#checkbox" class="role-reference"><code>checkbox</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><a href="#button" class="role-reference"><code>button</code></a></td> </tr> <tr> <th class="role-required-properties-head">Required States and Properties:</th> <td class="role-required-properties"> <ul> <li><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> (state)</li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="tab"> <h4 class="role-name" title="tab" aria-describedby="desc-tab"><code>tab</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-tab" role="definition"> <p>A grouping label providing a mechanism for selecting the tab content that is to be rendered to the user.</p> <p>If a <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> or item in a <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> has focus, the associated <code>tab</code> is the currently active tab in the <a href="#tablist" class="role-reference"><code>tablist</code></a>, as defined in <a href="#managingfocus">Managing Focus</a>. <a href="#tablist" class="role-reference"><code>tablist</code></a> elements, which contain a set of associated <a href="#tab" class="role-reference"><code>tab</code></a> elements, are typically placed near a series of <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> elements, usually preceding it. See the <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite> for details on implementing a tab set design pattern.</p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-59">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-69">role</a> <a href="#tab" class="role-reference"><code>tab</code></a> are contained in, or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-27">owned</a> by, an element with the role <a href="#tablist" class="role-reference"><code>tablist</code></a>.</p> <p>Authors <em class="rfc2119">SHOULD</em> ensure the <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> associated with the currently active tab is <a href="#dfn-perceivable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-perceivable-5">perceivable</a> to the user.</p> <p>For a single-selectable <a href="#tablist" class="role-reference"><code>tablist</code></a>, authors <em class="rfc2119">SHOULD</em> hide other <code>tabpanel</code> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-60">elements</a> from the user until the user selects the tab associated with that tabpanel. For a multi-selectable <a href="#tablist" class="role-reference"><code>tablist</code></a>, authors <em class="rfc2119">SHOULD</em> ensure that the <a href="#tab" class="role-reference"><code>tab</code></a> for each visible <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> has the <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-20">attribute</a> set to <code>true</code>, and that the <code>tabs</code> associated with the remaining hidden <code>tabpanel</code> elements have their <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> attributes set to <code>false</code>.</p> <p>In either case, authors <em class="rfc2119">SHOULD</em> ensure that a selected tab has its <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> attribute set to <code>true</code>, that inactive tab elements have their <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> attribute set to <code>false</code>, and that the currently selected tab provides a visual indication that it is selected. In the absence of an <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> attribute on the current tab, <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-34">user agents</a> <em class="rfc2119">SHOULD</em> indicate to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-41">assistive technologies</a> through the platform <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-24">accessibility <abbr title="Application Programing Interfaces">API</abbr></a> that the currently focused tab is selected.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#sectionhead" class="role-reference"><code>sectionhead</code></a></li> <li><a href="#widget" class="role-reference"><code>widget</code></a></li> </ul> </td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"><a href="#tablist" class="role-reference"><code>tablist</code></a></td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-selected" class="state-reference"><code>aria-selected</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-childpresentational-head" scope="row">Children Presentational:</th> <td class="role-childpresentational">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values">Default for <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> is <code class="default">false</code>.</td> </tr> </tbody> </table> </section> <section class="role notoc" id="table"> <h4 class="role-name" title="table" aria-describedby="desc-table"><code>table</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-table" role="definition"> <p>A <a href="#section" class="role-reference"><code>section</code></a> containing data arranged in rows and columns. See related <a href="#grid" class="role-reference"><code>grid</code></a>.</p> <p>The <code>table</code> role is intended for tabular containers which are not interactive. If the tabular container maintains a selection state, provides its own two-dimensional navigation, or allows the user to rearrange or otherwise manipulate its contents or the display thereof, authors <em class="rfc2119">SHOULD</em> use <a href="#grid" class="role-reference"><code>grid</code></a> or <a href="#treegrid" class="role-reference"><code>treegrid</code></a> instead.</p> <p>Authors <em class="rfc2119">SHOULD</em> prefer the use of the host language's semantics for table whenever possible, such as the <code><table></code> element in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>].</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> </ul> </td> </tr> <tr> <th class="role-base-head" scope="row">Base Concept:</th> <td class="role-base"><code><table></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"> <ul> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#rowgroup" class="role-reference"><code>rowgroup</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#row" class="role-reference"><code>row</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-colcount" class="property-reference"><code>aria-colcount</code></a></li> <li><a href="#aria-rowcount" class="property-reference"><code>aria-rowcount</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="tablist"> <h4 class="role-name" title="tablist" aria-describedby="desc-tablist"><code>tablist</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-tablist" role="definition"> <p>A list of <a href="#tab" class="role-reference"><code>tab</code></a> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-61">elements</a>, which are references to <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> elements.</p> <p>To be <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-8">keyboard accessible</a>, authors <em class="rfc2119">SHOULD</em> manage focus of descendants for all instances of this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-70">role</a>, as described in <a href="#managingfocus">Managing Focus</a>.</p> <p>For a single-selectable <code>tablist</code>, authors <em class="rfc2119">SHOULD</em> hide other <code>tabpanel</code> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-62">elements</a> from the user until the user selects the tab associated with that tabpanel. For a multi-selectable <a href="#tablist" class="role-reference"><code>tablist</code></a>, authors <em class="rfc2119">SHOULD</em> ensure each visible <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> has its <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-21">attribute</a> set to <code>true</code>, and that the remaining hidden <code>tabpanel</code> elements have their <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> attributes set to <code>false</code>.</p> <p><a href="#tablist" class="role-reference"><code>tablist</code></a> elements are typically placed near usually preceding, a series of <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> elements. See the <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite> for details on implementing a tab set design pattern.</p> <p>Elements with the role <a href="#tablist" class="role-reference"><code>tablist</code></a> have an implicit <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> value of <code>horizontal</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#composite" class="role-reference"><code>composite</code></a></li> </ul> </td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"><a href="#tab" class="role-reference"><code>tab</code></a></td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values">Default for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> is <code class="default">horizontal</code>.</td> </tr> </tbody> </table> </section> <section class="role notoc" id="tabpanel"> <h4 class="role-name" title="tabpanel" aria-describedby="desc-tabpanel"><code>tabpanel</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-tabpanel" role="definition"> <p>A container for the resources associated with a <a href="#tab" class="role-reference"><code>tab</code></a>, where each <a href="#tab" class="role-reference"><code>tab</code></a> is contained in a <a href="#tablist" class="role-reference"><code>tablist</code></a>.</p> <p>Authors <em class="rfc2119">SHOULD</em> associate a <code>tabpanel</code> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-63">element</a> with its <a href="#tab" class="role-reference"><code>tab</code></a>, either by using the <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a> attribute on the tab to reference the tab panel, or by using the <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> attribute on the tab panel to reference the tab.</p> <p><a href="#tablist" class="role-reference"><code>tablist</code></a> elements are typically placed near, usually preceding, a series of <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a> elements. See the <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite> for details on implementing a tab set design pattern.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="term"> <h4 class="role-name" title="term" aria-describedby="desc-term"><code>term</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-term" role="definition"> <p>A word or phrase with a corresponding definition. See related <a href="#definition" class="role-reference"><code>definition</code></a>.</p> <p>The <code>term</code> role is used to explicitly identify a word or phrase for which a <a href="#definition" class="role-reference"><code>definition</code></a> has been provided by the author or is expected to be provided by the user.</p> <p>Authors <em class="rfc2119">SHOULD NOT</em> use the <code>term</code> role on interactive elements such as links because doing so could prevent users of <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-42">assistive technologies</a> from interacting with those elements.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><dfn></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="textbox"> <h4 class="role-name" title="textbox" aria-describedby="desc-textbox"><code>textbox</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-textbox" role="definition"> <p>A type of input that allows free-form text as its value.</p> <p>If the <a href="#aria-multiline" class="property-reference"><code>aria-multiline</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-22">attribute</a> is <code>true</code>, the <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-23">widget</a> accepts line breaks within the input, as in an <abbr title="Hypertext Markup Language">HTML</abbr> <code>textarea</code>. Otherwise, this is a simple text box. The intended use is for languages that do not have a text input <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-64">element</a>, or cases in which an element with different <a href="#dfn-semantics" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-semantics-5">semantics</a> is repurposed as a text field.</p> <div class="note" role="note" id="issue-container-generatedID-41"><div role="heading" class="note-title marker" id="h-note-41" aria-level="4"><span>Note</span></div><p class="">In most user agent implementations, the default behavior of the <kbd>ENTER</kbd> or <kbd>RETURN</kbd> key is different between the single-line and multi-line text fields in <abbr title="Hypertext Markup Language">HTML</abbr>. When user has focus in a single-line <code><input type="text"></code> element, the keystroke usually submits the form. When user has focus in a multi-line <code><textarea></code> element, the keystroke inserts a line break. The <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <code>textbox</code> role differentiates these types of boxes with the <a href="#aria-multiline" class="property-reference"><code>aria-multiline</code></a> attribute, so authors are advised to be aware of this distinction when designing the field.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#input" class="role-reference"><code>input</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> </ul> </td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"> <ul> <li><code><textarea></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</li> <li><code><input[type="text"]></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-autocomplete" class="property-reference"><code>aria-autocomplete</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-multiline" class="property-reference"><code>aria-multiline</code></a></li> <li><a href="#aria-placeholder" class="property-reference"><code>aria-placeholder</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="time"> <h4 class="role-name" title="time" aria-describedby="desc-time"><code>time</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-time" role="definition"> <p>An element that represents a specific point in time.</p> <div class="note" role="note" id="issue-container-generatedID-42"><div role="heading" class="note-title marker" id="h-note-42" aria-level="4"><span>Note</span></div><p class="">At the present time, there are no <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> properties corresponding to the <code>datetime</code> attribute supported on <code><time></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]. The addition of this property will be considered for ARIA version 1.3.</p></div> <p>Authors <em class="rfc2119">SHOULD</em> limit text contents to a valid date- or time-related string, or apply this future <code>datetime</code>-equivalent property to the element which has role <code>time</code>.</p> <p>Examples of valid date- or time-related strings as text contents of an element with the <code>time</code> role:</p> <ul> <li> A valid month string: <code><span role="time">2019-11</span></code> </li> <li> A valid date string: <code><span role="time">2019-11-18</span></code> </li> <li> A valid yearless date string: <code><span role="time">11-18</span></code> </li> <li> A valid time string: <code><span role="time">09:54:39</span></code> </li> <li> A valid floating date and time string: <code><span role="time">2019-11-18T14:54</span></code> </li> <li> A valid time-zone offset string: <code><span role="time">-08:00</span></code> </li> <li> A valid global date and time string: <code><span role="time">2019-11-18T14:54Z</span></code> </li> <li> A valid week string: <code><span role="time">2019-W47</span></code> </li> <li> Four or more ASCII digits, at least one of which is not U+0030 DIGIT ZERO (0): <code><span role="time">0001</span></code> </li> <li> A valid duration string: <code><span role="time">4h 18m 3s</span></code> </li> </ul> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><code><time></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="timer"> <h4 class="role-name" title="timer" aria-describedby="desc-timer"><code>timer</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-timer" role="definition"> <p>A type of <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-8">live region</a> containing a numerical counter which indicates an amount of elapsed time from a start point, or the time remaining until an end point.</p> <p>The text contents of the timer <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-19">object</a> indicate the current time measurement, and are updated as that amount changes. The timer value is not necessarily machine parsable, but authors <em class="rfc2119">SHOULD</em> update the text contents at fixed intervals, except when the timer is paused or reaches an end-point.</p> <p>Elements with the role <code>timer</code> have an implicit <a href="#aria-live" class="property-reference"><code>aria-live</code></a> value of <code>off</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#status" class="role-reference"><code>status</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> <section class="role notoc" id="toolbar"> <h4 class="role-name" title="toolbar" aria-describedby="desc-toolbar"><code>toolbar</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-toolbar" role="definition"> <p>A collection of commonly used function buttons or controls represented in compact visual form.</p> <p>The toolbar is often a subset of functions found in a <a href="#menubar" class="role-reference"><code>menubar</code></a>, designed to reduce user effort in using these functions. Authors <em class="rfc2119">MUST</em> supply a label on each toolbar when the application contains more than one toolbar.</p> <p>Authors <em class="rfc2119">MAY</em> manage focus of descendants for all instances of this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-71">role</a>, as described in <a href="#managingfocus">Managing Focus</a>.</p> <p>Elements with the role <code>toolbar</code> have an implicit <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> value of <code>horizontal</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#group" class="role-reference"><code>group</code></a></td> </tr> <tr> <th class="role-related-head" scope="row">Related Concepts:</th> <td class="role-related"><a href="#menubar" class="role-reference"><code>menubar</code></a></td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values">Default for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> is <code class="default">horizontal</code>.</td> </tr> </tbody> </table> </section> <section class="role notoc" id="tooltip"> <h4 class="role-name" title="tooltip" aria-describedby="desc-tooltip"><code>tooltip</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-tooltip" role="definition"> <p>A contextual popup that displays a description for an element.</p> <p>The <code>tooltip</code> typically becomes visible, after a short delay, in response to a mouse hover, or after the owning element receives keyboard focus. The use of a <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> tooltip is a supplement to the normal tooltip behavior of the user agent.</p> <div class="note" role="note" id="issue-container-generatedID-43"><div role="heading" class="note-title marker" id="h-note-43" aria-level="4"><span>Note</span></div><p class="">Typical tooltip delays last from one to five seconds.</p></div> <p>Authors <em class="rfc2119">SHOULD</em> ensure that elements with the <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-72">role</a> <code>tooltip</code> are referenced through the use of <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> before or at the time the tooltip is displayed.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#section" class="role-reference"><code>section</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="tree"> <h4 class="role-name" title="tree" aria-describedby="desc-tree"><code>tree</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-tree" role="definition"> <p>A <a href="#widget" class="role-reference"><code>widget</code></a> that allows the user to select one or more items from a hierarchically organized collection.</p> <p>To be <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-9">keyboard accessible</a>, authors <em class="rfc2119">SHOULD</em> manage focus of descendants for all instances of this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-73">role</a>, as described in <a href="#managingfocus">Managing Focus</a>.</p> <p>Elements with the role <code>tree</code> have an implicit <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> value of <code>vertical</code>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#select" class="role-reference"><code>select</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> <tr> <th class="implicit-values-head" scope="row">Implicit Value for Role:</th> <td class="implicit-values">Default for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> is <code class="default">vertical</code>.</td> </tr> </tbody> </table> </section> <section class="role notoc" id="treegrid"> <h4 class="role-name" title="treegrid" aria-describedby="desc-treegrid"><code>treegrid</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-treegrid" role="definition"> <p>A <a href="#grid" class="role-reference"><code>grid</code></a> whose rows can be expanded and collapsed in the same manner as for a <a href="#tree" class="role-reference"><code>tree</code></a>.</p> <p>If <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> is set on an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-65">element</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-74">role</a> <code>treegrid</code>, <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-35">user agents</a> <em class="rfc2119">MUST</em> propagate the value to all <a href="#gridcell" class="role-reference"><code>gridcell</code></a> elements owned by the <code>treegrid</code> and expose the value in the accessibility <abbr title="application programming interface">API</abbr>. An author <em class="rfc2119">MAY</em> override the propagated value of <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> for an individual <a href="#gridcell" class="role-reference"><code>gridcell</code></a> element.</p> <p>When the <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> attribute is applied to a focusable <a href="#gridcell" class="role-reference"><code>gridcell</code></a>, it indicates whether the content contained in the <a href="#gridcell" class="role-reference"><code>gridcell</code></a> is editable. The <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> attribute does not represent availability of functions for navigating or manipulating the <code>treegrid</code> itself.</p> <p>In a <code>treegrid</code> that provides content editing functions, if the content of a focusable <a href="#gridcell" class="role-reference"><code>gridcell</code></a> element is not editable, authors <em class="rfc2119">MAY</em> set <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a> to <code>true</code> on the <a href="#gridcell" class="role-reference"><code>gridcell</code></a> element. However, if a <code>treegrid</code> presents a collection of elements that do not support <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a>, such as a collection of <a href="#link" class="role-reference"><code>link</code></a> elements, it is not necessary for the author to specify a value for <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a>.</p> <p>To be <a href="#dfn-keyboard-accessible" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-keyboard-accessible-10">keyboard accessible</a>, authors <em class="rfc2119">SHOULD</em> manage focus of descendants for all instances of this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-75">role</a>, as described in <a href="#managingfocus">Managing Focus</a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> </ul> </td> </tr> <tr> <th class="role-mustcontain-head" scope="row">Required Owned Elements:</th> <td class="role-mustcontain"> <ul> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#rowgroup" class="role-reference"><code>rowgroup</code></a> <abbr title="containing" class="symbol">→</abbr> <a href="#row" class="role-reference"><code>row</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-colcount" class="property-reference"><code>aria-colcount</code></a></li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-rowcount" class="property-reference"><code>aria-rowcount</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="treeitem"> <h4 class="role-name" title="treeitem" aria-describedby="desc-treeitem"><code>treeitem</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-treeitem" role="definition"> <p>An option item of a <a href="#tree" class="role-reference"><code>tree</code></a>. This is an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-66">element</a> within a tree that may be expanded or collapsed if it contains a sub-level group of tree item elements.</p> <p>A collection of <code>treeitem</code> elements to be expanded and collapsed are enclosed in an element with the <a href="#group" class="role-reference"><code>group</code></a> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-76">role</a>.</p> <p>Authors <em class="rfc2119">MUST</em> ensure <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-67">elements</a> with <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-77">role</a> <code>treeitem</code> are contained in, or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-28">owned</a> by, an element with the role <a href="#group" class="role-reference"><code>group</code></a> or <a href="#tree" class="role-reference"><code>tree</code></a>.</p> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"> <ul> <li><a href="#listitem" class="role-reference"><code>listitem</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> </ul> </td> </tr> <tr> <th class="role-scope-head" scope="row">Required Context Role:</th> <td class="role-scope"> <ul> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"> <ul> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-level" class="property-reference"><code>aria-level</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> (state) <strong>(required)</strong></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li>contents</li> <li>author</li> </ul> </td> </tr> <tr> <th class="role-namerequired-head" scope="row">Accessible Name Required:</th> <td class="role-namerequired">True</td> </tr> </tbody> </table> </section> <section class="role notoc" id="widget"> <h4 class="role-name" title="widget" aria-describedby="desc-widget"><code>widget</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-widget" role="definition"> <p>An interactive component of a graphical user interface (<abbr title="Graphical User Interface">GUI</abbr>).</p> <p>Widgets are discrete user interface objects with which the user can interact. Widget <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-78">roles</a> map to standard features in <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-25">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a>. When the user navigates an element assigned any of the non-abstract subclass roles of <code>widget</code>, <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-43">assistive technologies</a> that typically intercept standard keyboard events <em class="rfc2119">SHOULD</em> switch to an application browsing mode, and pass keyboard events through to the web application. The intent is to hint to certain <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-44">assistive technologies</a> to switch from normal browsing mode into a mode more appropriate for interacting with a web application; some <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-36">user agents</a> have a browse navigation mode where keys, such as up and down arrows, are used to browse the document, and this native behavior prevents the use of these keys by a web application.</p> <div class="note" role="note" id="issue-container-generatedID-44"><div role="heading" class="note-title marker" id="h-note-44" aria-level="4"><span>Note</span></div><p class=""><code>widget</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#roletype" class="role-reference"><code>roletype</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#command" class="role-reference"><code>command</code></a></li> <li><a href="#composite" class="role-reference"><code>composite</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#input" class="role-reference"><code>input</code></a></li> <li><a href="#progressbar" class="role-reference"><code>progressbar</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> </ul> </td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom"> <ul> <li><abbr title="not applicable">n/a</abbr></li> </ul> </td> </tr> </tbody> </table> </section> <section class="role notoc" id="window"> <h4 class="role-name" title="window" aria-describedby="desc-window"><code>window</code> <span class="type-indicator">role</span></h4> <div class="role-description" id="desc-window" role="definition"> <p>A browser or application window.</p> <p><a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-68">Elements</a> with this <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-79">role</a> have a window-like behavior in a graphical user interface (<abbr title="Graphical User Interface">GUI</abbr>) context, regardless of whether they are implemented as a native window in the operating system, or merely as a section of the document styled to look like a window.</p> <div class="note" role="note" id="issue-container-generatedID-45"><div role="heading" class="note-title marker" id="h-note-45" aria-level="4"><span>Note</span></div><p class="">In the description of this role, the term "application" does not refer to the <a href="#application" class="role-reference"><code>application</code></a> role, which specifies specific assistive technology behaviors.</p></div> <div class="note" role="note" id="issue-container-generatedID-46"><div role="heading" class="note-title marker" id="h-note-46" aria-level="4"><span>Note</span></div><p class=""><code>window</code> is an abstract role used for the ontology. Authors should not use this role in content.</p></div> </div> <table class="role-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="role-abstract-head" scope="row">Is Abstract:</th> <td class="role-abstract">True</td> </tr> <tr> <th class="role-parent-head" scope="row">Superclass Role:</th> <td class="role-parent"><a href="#roletype" class="role-reference"><code>roletype</code></a></td> </tr> <tr> <th class="role-children-head" scope="row">Subclass Roles:</th> <td class="role-children"><ul> <li><a href="#dialog" class="role-reference"><code>dialog</code></a></li> </ul> </td> </tr> <tr> <th class="role-properties-head" scope="row">Supported States and Properties:</th> <td class="role-properties"><a href="#aria-modal" class="property-reference"><code>aria-modal</code></a></td> </tr> <tr> <th class="role-inherited-head" scope="row">Inherited States and Properties:</th> <td class="role-inherited"><ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> (state)</li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current</code></a> (state)</li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> (state)</li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> (state)</li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> (state) <strong>(deprecated on this role in ARIA 1.2)</strong></li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </td> </tr> <tr> <th class="role-namefrom-head" scope="row">Name From:</th> <td class="role-namefrom">author</td> </tr> </tbody> </table> </section> </section> </section> <section class="normative" id="states_and_properties"><div class="header-wrapper"><h2 id="x6-supported-states-and-properties"><bdi class="secno">6. </bdi>Supported States and Properties</h2><a class="self-link" href="#states_and_properties" aria-label="Permalink for Section 6."></a></div> <section id="statevsprop"><div class="header-wrapper"><h3 id="x6-1-clarification-of-states-versus-properties"><bdi class="secno">6.1 </bdi>Clarification of States versus Properties</h3><a class="self-link" href="#statevsprop" aria-label="Permalink for Section 6.1"></a></div> <p>The terms "states" and "properties" refer to similar features. Both provide specific information about an <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-20">object</a>, and both form part of the definition of the nature of <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-80">roles</a>. In this document, states and properties are both treated as aria-prefixed markup <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-23">attributes</a>. However, they are maintained conceptually distinct to clarify subtle differences in their meaning. One major difference is that the <span>values</span> of properties (such as <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a>) are often less likely to change throughout the application life-cycle than the values of states (such as <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a>) which may change frequently due to user interaction. Note that the frequency of change difference is not a rule; a few properties, such as <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> are expected to change often. Because the distinction between states and properties is of little consequence to most web content authors, this specification refers to both "states" and "properties" simply as "attributes" whenever possible. See the definitions of <a class="termref informative" href="#dfn-state" id="ref-for-dfn-state-17">state</a> and <a class="termref informative" href="#dfn-property" id="ref-for-dfn-property-14">property</a> for more information.</p> </section> <section id="state_prop_att"><div class="header-wrapper"><h3 id="x6-2-characteristics-of-states-and-properties"><bdi class="secno">6.2 </bdi>Characteristics of States and Properties</h3><a class="self-link" href="#state_prop_att" aria-label="Permalink for Section 6.2"></a></div> <p>States and properties have the characteristics described in the following sections.</p> <section id="propcharacteristic_relatedconcept"><div class="header-wrapper"><h4 id="x6-2-1-related-concepts"><bdi class="secno">6.2.1 </bdi>Related Concepts</h4><a class="self-link" href="#propcharacteristic_relatedconcept" aria-label="Permalink for Section 6.2.1"></a></div> <p>Advisory information about features from this or other languages that correspond to this <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-18">state</a> or <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-15">property</a>. While the correspondence may not be exact, it is useful to help understand the intent of the state or property.</p> </section> <section id="propcharacteristic_usedinrole"><div class="header-wrapper"><h4 id="x6-2-2-used-in-roles"><bdi class="secno">6.2.2 </bdi>Used in Roles</h4><a class="self-link" href="#propcharacteristic_usedinrole" aria-label="Permalink for Section 6.2.2"></a></div> <p>Advisory information about <a href="#role_definitions">roles</a> that use this <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-19">state</a> or <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-16">property</a>. This information is provided to help understand the appropriate usage of the state or property. Use of a given state or property is not defined when used on roles other than those listed.</p> </section> <section id="propcharacteristic_inheritsintoroles"><div class="header-wrapper"><h4 id="x6-2-3-inherits-into-roles"><bdi class="secno">6.2.3 </bdi>Inherits into Roles</h4><a class="self-link" href="#propcharacteristic_inheritsintoroles" aria-label="Permalink for Section 6.2.3"></a></div> <p>Advisory information about <a href="#role_definitions">roles</a> that inherit the <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-20">state</a> or <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-17">property</a> from an ancestor role.</p> </section> <section id="propcharacteristic_value"><div class="header-wrapper"><h4 id="x6-2-4-value"><bdi class="secno">6.2.4 </bdi>Value</h4><a class="self-link" href="#propcharacteristic_value" aria-label="Permalink for Section 6.2.4"></a></div> <p>Value type of the <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-21">state</a> or <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-18">property</a>. The value may be one of the following types:</p> <dl> <dt id="valuetype_true-false">true/false</dt> <dd>Value representing either <code>true</code> or <code>false</code>. The default value for this value type is <code>false</code> unless otherwise specified.</dd> <dt id="valuetype_tristate">tristate</dt> <dd>Value representing <code>true</code>, <code>false</code>, <code>mixed</code>, or <code>undefined</code> values. The default value for this value type is <code>undefined</code> unless otherwise specified.</dd> <dt id="valuetype_true-false-undefined">true/false/undefined</dt> <dd>Value representing <code>true</code>, <code>false</code>, or <code>undefined</code> (not applicable). The default value for this value type is <code>undefined</code> unless otherwise specified. For example, an element with <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> set to <code>false</code> is not currently expanded; an element with <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> set to <code>undefined</code> is not expandable.</dd> <dt id="valuetype_idref">ID reference</dt> <dd>Reference to the ID of another <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-69">element</a> in the same document</dd> <dt id="valuetype_idref_list">ID reference list</dt> <dd>A list of one or more ID references.</dd> <dt id="valuetype_integer">integer</dt> <dd>A numerical value without a fractional component.</dd> <dt id="valuetype_number">number</dt> <dd>Any real numerical value.</dd> <dt id="valuetype_string">string</dt> <dd>Unconstrained value type.</dd> <dt id="valuetype_token">token</dt> <dd>One of a limited set of allowed values. The default value is defined in each attribute's Values table, as specified in the <a href="#enumerated-attribute-values">Attribute Values</a> section.</dd> <dt id="valuetype_token_list"><dfn id="dfn-token-list" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">token list</dfn></dt> <dd>A list of one or more tokens.</dd> </dl> <p>These are generic types for states and properties, but do not define specific representation. See <a href="#state_property_processing">State and Property Attribute Processing</a> for details on how these values are expressed and handled in host languages.</p> </section> </section> <section id="aria-attributes"><div class="header-wrapper"><h3 id="x6-3-aria-attributes"><bdi class="secno">6.3 </bdi>ARIA Attributes</h3><a class="self-link" href="#aria-attributes" aria-label="Permalink for Section 6.3"></a></div> <section id="enumerated-attribute-values"><div class="header-wrapper"><h4 id="x6-3-1-multi-value-attribute-values"><bdi class="secno">6.3.1 </bdi>Multi-value Attribute Values</h4><a class="self-link" href="#enumerated-attribute-values" aria-label="Permalink for Section 6.3.1"></a></div> <p>When the ARIA attribute definition includes a table listing the attribute's allowed <span>values</span>, that attribute is a multi-value nullable attribute. Each value in the table is a keyword for the attribute, mapping to a state of the same name. </p> </section> <section id="idl-reflection-attribute-values"><div class="header-wrapper"><h4 id="x6-3-2-idl-reflection-of-aria-attributes"><bdi class="secno">6.3.2 </bdi>IDL reflection of ARIA attributes</h4><a class="self-link" href="#idl-reflection-attribute-values" aria-label="Permalink for Section 6.3.2"></a></div> <p>All ARIA attributes reflect in IDL as <a data-link-type="dfn|abstract-op" data-lt="nullable type" data-type="dfn" href="https://webidl.spec.whatwg.org/#dfn-nullable-type">nullable</a> <a data-link-type="idl" data-lt="DOMString" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-1"><code>DOMString</code></a> attributes. This includes the boolean-like <a href="#valuetype_true-false">true/false</a> type, and all other ARIA attributes.</p> <p>Default values from the ARIA values tables <em class="rfc2119">MUST NOT</em> reflect to IDL as the <a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#missing-value-default">missing value default</a> or the <a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#invalid-value-default">invalid value default</a> for the attribute. On getting, a missing ARIA attribute will return <code>null</code>. ARIA attributes are not validated on get. If an ARIA value is invalid, on getting, it will return its set value as a literal string, and will not return an invalid value default.</p> </section> <section id="os-aapi-attribute-mapping"><div class="header-wrapper"><h4 id="x6-3-3-operating-system-accessibility-api-mapping-of-multi-value-aria-attributes"><bdi class="secno">6.3.3 </bdi>Operating System Accessibility <abbr title="application programming interface">API</abbr> mapping of multi-value ARIA attributes</h4><a class="self-link" href="#os-aapi-attribute-mapping" aria-label="Permalink for Section 6.3.3"></a></div> <p>Unlike IDL reflection, operating system accessibility <abbr title="application programming interface">API</abbr> mappings of ARIA attributes can have defaults. Any default values from the ARIA values tables are exposed to the operating system accessibility <abbr title="application programming interface">API</abbr> as described in <a href="#supportedState" data-matched-text="[[[#supportedState]]]" class="sec-ref"><bdi class="secno">5.2.3 </bdi>Supported States and Properties</a>, and in <cite><a data-matched-text="[[[CORE-AAM]]]" href="https://www.w3.org/TR/core-aam-1.1/">Core Accessibility API Mappings 1.1</a></cite>.</p> </section> <section id="enumerated-attribute-values-html"><div class="header-wrapper"><h4 id="x6-3-4-aria-nullable-domstring-attributes"><bdi class="secno">6.3.4 </bdi>ARIA nullable DOMString Attributes</h4><a class="self-link" href="#enumerated-attribute-values-html" aria-label="Permalink for Section 6.3.4"></a></div> <p>As noted in <a href="#typemapping" data-matched-text="[[[#typemapping]]]" class="sec-ref"><bdi class="secno">A. </bdi>Mapping <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> Value types to languages</a>, attributes are included in host languages, and the syntax for representation of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> types is governed by the host language.</p> <p>The following algorithm should be used for ARIA nullable <a data-link-type="idl" data-lt="DOMString" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-2"><code>DOMString</code></a> attributes in <abbr title="Hypertext Markup Language">HTML</abbr>:</p> <p>On getting, if the corresponding content attribute is not present, then the IDL attribute must return null, otherwise, the IDL attribute must get the value in a transparent, case-preserving manner. On setting, if the new value is null, the content attribute must be removed, and otherwise, the content attribute must be set to the specified new value in a transparent, case-preserving manner.</p> <div class="note" role="note" id="issue-container-generatedID-47"><div role="heading" class="note-title marker" id="h-note-47" aria-level="5"><span>Note</span></div><p class=""> Note: As of ARIA 1.2, all ARIA attributes exposed via IDL are defined as nullable <a data-link-type="idl" data-lt="DOMStrings" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-3"><code>DOMStrings</code></a>. This matches the current implementation of all major rendering engines. This specification change should result in no implementation changes; it will merely represent the current reality of web engines. However, in a future draft, the ARIA Working Group intends to change several ARIA attributes to non-nullable DOMStrings, and seek implementations. The proposed change will bring ARIA into alignment with the <abbr title="Hypertext Markup Language">HTML</abbr>’s usage of <a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute">enumerated attributes</a>.</p></div> <section class="informative" id="enumeration-example"><div class="header-wrapper"><h5 id="x6-3-4-1-example-attribute-usage"><bdi class="secno">6.3.4.1 </bdi>Example Attribute Usage</h5><a class="self-link" href="#enumeration-example" aria-label="Permalink for Section 6.3.4.1"></a></div><p><em>This section is non-normative.</em></p> <aside class="example" id="example-14"><div class="marker"> <a class="self-link" href="#example-14">Example<bdi> 14</bdi></a> </div> <pre aria-busy="false"><code class="hljs javascript"><span class="hljs-comment">// HTML hidden="" example (not aria-hidden="true")</span> <span class="hljs-comment">// Actual boolean type; defaults to false.</span> <span class="hljs-comment">// Note: Actual boolean assignment and return value.</span> el.hidden = <span class="hljs-literal">true</span>; el.hidden; <span class="hljs-comment">// true</span> <span class="hljs-comment">// Removal of content attribute results in missing value default: boolean false.</span> el.removeAttribute(<span class="hljs-string">"hidden"</span>); el.hidden; <span class="hljs-comment">// false</span></code></pre> </aside> <aside class="example" id="example-15"><div class="marker"> <a class="self-link" href="#example-15">Example<bdi> 15</bdi></a> </div> <pre aria-busy="false"><code class="hljs javascript"><span class="hljs-comment">// aria-busy example</span> <span class="hljs-comment">// true/false ~ boolean-like nullable string; returns null unless set</span> el.ariaBusy; <span class="hljs-comment">// null</span> <span class="hljs-comment">// Note: String assignment and return value.</span> el.ariaBusy = <span class="hljs-string">"true"</span>; el.ariaBusy; <span class="hljs-comment">// "true"</span> <span class="hljs-comment">// Removal of content attribute results in missing value default: string "false".</span> el.removeAttribute(<span class="hljs-string">"aria-busy"</span>); el.ariaBusy; <span class="hljs-comment">// null</span> <span class="hljs-comment">// Assignment of invalid "busy" value. Not validated on set or get and the literal string value "busy" is returned.</span> el.setAttribute(<span class="hljs-string">"aria-busy"</span>, <span class="hljs-string">"busy"</span>); el.ariaBusy; <span class="hljs-comment">// "busy"</span></code></pre> </aside> <aside class="example" id="example-16"><div class="marker"> <a class="self-link" href="#example-16">Example<bdi> 16</bdi></a> </div> <pre aria-busy="false"><code class="hljs javascript"><span class="hljs-comment">// aria-pressed example</span> <span class="hljs-comment">// Tristate ~ true/false/mixed/undefined string; null if unspecified</span> <span class="hljs-comment">// no value has been defined</span> button.ariaPressed; <span class="hljs-comment">// null</span> <span class="hljs-comment">// A value of "true", "false", or "mixed" for aria-pressed on a button denotes a toggle button.</span> button.setAttribute(<span class="hljs-string">"aria-pressed"</span>, <span class="hljs-string">"true"</span>); <span class="hljs-comment">// Content attribute assignment.</span> button.ariaPressed; <span class="hljs-comment">// "true"</span> button.ariaPressed = <span class="hljs-string">"false"</span>; <span class="hljs-comment">// DOM property assignment.</span> button.ariaPressed; <span class="hljs-comment">// "false"</span> <span class="hljs-comment">// Assignment of invalid "foo" value. Not validated on set or get and the literal string value "foo" is returned.</span> button.ariaPressed = <span class="hljs-string">"foo"</span>; button.ariaPressed; <span class="hljs-comment">// "foo" (Note: button is no longer a toggle button.)</span> <span class="hljs-comment">// Removal of content attribute results in a null value</span> button.removeAttribute(<span class="hljs-string">"aria-pressed"</span>); button.ariaPressed; <span class="hljs-comment">// null</span></code></pre> </aside> </section> </section> </section> <section id="translatable-states-and-properties"><div class="header-wrapper"><h3 id="x6-4-translatable-states-and-properties"><bdi class="secno">6.4 </bdi>Translatable States and Properties</h3><a class="self-link" href="#translatable-states-and-properties" aria-label="Permalink for Section 6.4"></a></div> <p>The <abbr title="Hypertext Markup Language">HTML</abbr> specification states that other specifications can define <a href="https://html.spec.whatwg.org/multipage/dom.html#translatable-attributes">translatable attributes</a>. In order to be understandable by assistive technology users, the values of the following <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-22">states</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-19">properties</a> are <a href="https://html.spec.whatwg.org/multipage/dom.html#translatable-attributes">translatable attributes</a> and should be translated when a page is localized:</p> <ul> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-placeholder" class="property-reference"><code>aria-placeholder</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> <li><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a></li> </ul> </section> <section id="global_states"><div class="header-wrapper"><h3 id="x6-5-global-states-and-properties"><bdi class="secno">6.5 </bdi>Global States and Properties</h3><a class="self-link" href="#global_states" aria-label="Permalink for Section 6.5"></a></div> <p>Some <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-23">states</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-20">properties</a> are applicable to all host language <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-70">elements</a> regardless of whether a <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-81">role</a> is applied. The following global states and properties are supported by all roles and by all base markup elements unless otherwise prohibited. If a role prohibits use of any global states or properties, those states or properties are listed as prohibited in the characteristics table included in the section that defines the role.</p> <ul><li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy (state)</code></a></li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-current" class="state-reference"><code>aria-current (state)</code></a></li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled (state)</code></a> (Global use deprecated in ARIA 1.2)</li> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a> (Global use deprecated in ARIA 1.2)</li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed (state)</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> (Global use deprecated in ARIA 1.2)</li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden (state)</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid (state)</code></a> (Global use deprecated in ARIA 1.2)</li> <li><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a> (Except where prohibited)</li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> (Except where prohibited)</li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> <li><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></li> </ul> </section> <section id="state_prop_taxonomy"><div class="header-wrapper"><h3 id="x6-6-taxonomy-of-wai-aria-states-and-properties"><bdi class="secno">6.6 </bdi>Taxonomy of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> States and Properties</h3><a class="self-link" href="#state_prop_taxonomy" aria-label="Permalink for Section 6.6"></a></div> <p>States and properties are categorized as follows:</p> <ol> <li><a href="#attrs_widgets">Widget Attributes</a></li> <li><a href="#attrs_liveregions">Live Region Attributes</a></li> <li><a href="#attrs_dragdrop">Drag-and-Drop Attributes</a></li> <li><a href="#attrs_relationships">Relationship Attributes</a></li> </ol> <section id="attrs_widgets"><div class="header-wrapper"><h4 id="x6-6-1-widget-attributes"><bdi class="secno">6.6.1 </bdi>Widget Attributes</h4><a class="self-link" href="#attrs_widgets" aria-label="Permalink for Section 6.6.1"></a></div> <p>This section contains <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-24">attributes</a> specific to common user interface <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-71">elements</a> found on <abbr title="Graphical User Interface">GUI</abbr> systems or in rich internet applications which receive user input and process user actions. These attributes are used to support the <a href="#widget_roles">widget roles</a>.</p> <ul> <li><a href="#aria-autocomplete" class="property-reference"><code>aria-autocomplete</code></a></li> <li><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></li> <li><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></li> <li><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></li> <li><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a></li> <li><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-level" class="property-reference"><code>aria-level</code></a></li> <li><a href="#aria-modal" class="property-reference"><code>aria-modal</code></a></li> <li><a href="#aria-multiline" class="property-reference"><code>aria-multiline</code></a></li> <li><a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a></li> <li><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></li> <li><a href="#aria-placeholder" class="property-reference"><code>aria-placeholder</code></a></li> <li><a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a></li> <li><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></li> <li><a href="#aria-required" class="property-reference"><code>aria-required</code></a></li> <li><a href="#aria-selected" class="state-reference"><code>aria-selected</code></a></li> <li><a href="#aria-sort" class="property-reference"><code>aria-sort</code></a></li> <li><a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a></li> <li><a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a></li> <li><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></li> <li><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a></li> </ul> <p>Widget attributes might be mapped by a <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-37">user agent</a> to platform <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-26">accessibility <abbr title="Application Programing Interfaces">API</abbr></a> <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-24">state</a>, for access by <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-45">assistive technologies</a>, or they might be accessed directly from the <abbr title="Document Object Model">DOM</abbr>. User agents <em class="rfc2119">MUST</em> provide a way for assistive technologies to be notified when states change, either through <abbr title="Document Object Model">DOM</abbr> attribute change <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-9">events</a> or platform accessibility <abbr title="Application Programing Interfaces">API</abbr> events.</p> </section> <section id="attrs_liveregions"><div class="header-wrapper"><h4 id="x6-6-2-live-region-attributes"><bdi class="secno">6.6.2 </bdi>Live Region Attributes</h4><a class="self-link" href="#attrs_liveregions" aria-label="Permalink for Section 6.6.2"></a></div> <p>This section contains <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-25">attributes</a> specific to <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-9">live regions</a> in rich internet applications. These attributes may be applied to any <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-72">element</a>. The purpose of these attributes is to indicate that content changes may occur without the element having focus, and to provide <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-46">assistive technologies</a> with information on how to process those content updates. Some <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-82">roles</a> specify a default value for the <a href="#aria-live" class="property-reference"><code>aria-live</code></a> attribute specific to that role. An example of a live region is a ticker section that lists updating stock quotes.</p> <ul> <li><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></li> <li><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a></li> <li><a href="#aria-live" class="property-reference"><code>aria-live</code></a></li> <li><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a></li> </ul> </section> <section id="attrs_dragdrop"><div class="header-wrapper"><h4 id="x6-6-3-drag-and-drop-attributes"><bdi class="secno">6.6.3 </bdi>Drag-and-Drop Attributes</h4><a class="self-link" href="#attrs_dragdrop" aria-label="Permalink for Section 6.6.3"></a></div> <p>This section lists <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-26">attributes</a> which indicate information about drag-and-drop interface <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-73">elements</a>, such as draggable elements and their drop targets. Drop target information will be rendered visually by the author and provided to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-47">assistive technologies</a> through an alternate modality.</p> <ul> <li><a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a></li> <li><a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a></li> </ul> </section> <section id="attrs_relationships"><div class="header-wrapper"><h4 id="x6-6-4-relationship-attributes"><bdi class="secno">6.6.4 </bdi>Relationship Attributes</h4><a class="self-link" href="#attrs_relationships" aria-label="Permalink for Section 6.6.4"></a></div> <p>This section lists <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-27">attributes</a> that indicate <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-11">relationships</a> or associations between <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-74">elements</a> which cannot be readily determined from the document structure.</p> <ul> <li><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a></li> <li><a href="#aria-colcount" class="property-reference"><code>aria-colcount</code></a></li> <li><a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a></li> <li><a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a></li> <li><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></li> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-details" class="property-reference"><code>aria-details</code></a></li> <li><a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a></li> <li><a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> <li><a href="#aria-owns" class="property-reference"><code>aria-owns</code></a></li> <li><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></li> <li><a href="#aria-rowcount" class="property-reference"><code>aria-rowcount</code></a></li> <li><a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a></li> <li><a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a></li> <li><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></li> </ul> </section> </section> <section id="state_prop_def"><div class="header-wrapper"><h3 id="x6-7-definitions-of-states-and-properties-all-aria-attributes"><bdi class="secno">6.7 </bdi>Definitions of States and Properties (all aria-* attributes)</h3><a class="self-link" href="#state_prop_def" aria-label="Permalink for Section 6.7"></a></div> <p>Below is an alphabetical list of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-25">states</a> and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-21">properties</a> to be used by rich internet application authors. A detailed definition of each <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> state and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-22">property</a> follows this compact list.</p> <dl id="index_state_prop" class="compact"><dt><a href="#aria-activedescendant" class="property-reference">aria-activedescendant</a></dt> <dd>Identifies the currently active element when <abbr title="Document Object Model">DOM</abbr> focus is on a <a href="#composite" class="role-reference"><code>composite</code></a> widget, <a href="#combobox" class="role-reference"><code>combobox</code></a>, <a href="#textbox" class="role-reference"><code>textbox</code></a>, <a href="#group" class="role-reference"><code>group</code></a>, or <a href="#application" class="role-reference"><code>application</code></a>.</dd> <dt><a href="#aria-atomic" class="property-reference">aria-atomic</a></dt> <dd>Indicates whether <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn">assistive technologies</a> will present all, or only parts of, the changed region based on the change notifications defined by the <a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a> attribute.</dd> <dt><a href="#aria-autocomplete" class="property-reference">aria-autocomplete</a></dt> <dd>Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a <a href="#combobox" class="role-reference"><code>combobox</code></a>, <a href="#searchbox" class="role-reference"><code>searchbox</code></a>, or <a href="#textbox" class="role-reference"><code>textbox</code></a> and specifies how predictions would be presented if they were made.</dd> <dt><a href="#aria-busy" class="state-reference">aria-busy</a></dt> <dd>Indicates an element is being modified and that assistive technologies <em class="rfc2119">MAY</em> want to wait until the modifications are complete before exposing them to the user.</dd> <dt><a href="#aria-checked" class="state-reference">aria-checked</a></dt> <dd>Indicates the current "checked" <a href="#dfn-state" class="internalDFN" data-link-type="dfn">state</a> of checkboxes, radio buttons, and other <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widgets</a>. See related <a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a> and <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a>.</dd> <dt><a href="#aria-colcount" class="property-reference">aria-colcount</a></dt> <dd>Defines the total number of columns in a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a>.</dd> <dt><a href="#aria-colindex" class="property-reference">aria-colindex</a></dt> <dd>Defines an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element's</a> column index or position with respect to the total number of columns within a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-colcount" class="property-reference"><code>aria-colcount</code></a> and <a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a>.</dd> <dt><a href="#aria-colspan" class="property-reference">aria-colspan</a></dt> <dd>Defines the number of columns spanned by a cell or gridcell within a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> and <a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a>.</dd> <dt><a href="#aria-controls" class="property-reference">aria-controls</a></dt> <dd>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> (or elements) whose contents or presence are controlled by the current element. See related <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a>.</dd> <dt><a href="#aria-current" class="state-reference">aria-current</a></dt> <dd>Indicates the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> that represents the current item within a container or set of related elements.</dd> <dt><a href="#aria-describedby" class="property-reference">aria-describedby</a></dt> <dd>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> (or elements) that describes the <a href="#dfn-object" class="internalDFN" data-link-type="dfn">object</a>. See related <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a>.</dd> <dt><a href="#aria-details" class="property-reference">aria-details</a></dt> <dd>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> that provides a detailed, extended description for the <a href="#dfn-object" class="internalDFN" data-link-type="dfn">object</a>. See related <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>.</dd> <dt><a href="#aria-disabled" class="state-reference">aria-disabled</a></dt> <dd>Indicates that the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> is <a href="#dfn-perceivable" class="internalDFN" data-link-type="dfn">perceivable</a> but disabled, so it is not editable or otherwise <a href="#dfn-operable" class="internalDFN" data-link-type="dfn">operable</a>. See related <a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> and <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a>.</dd> <dt><a href="#aria-dropeffect" class="property-reference">aria-dropeffect</a></dt> <dd>[Deprecated in ARIA 1.1] Indicates what functions can be performed when a dragged object is released on the drop target.</dd> <dt><a href="#aria-errormessage" class="property-reference">aria-errormessage</a></dt> <dd>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> that provides an error message for an <a href="#dfn-object" class="internalDFN" data-link-type="dfn">object</a>. See related <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> and <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>.</dd> <dt><a href="#aria-expanded" class="state-reference">aria-expanded</a></dt> <dd>Indicates whether a grouping element owned or controlled by this element is expanded or collapsed.</dd> <dt><a href="#aria-flowto" class="property-reference">aria-flowto</a></dt> <dd>Identifies the next <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.</dd> <dt><a href="#aria-grabbed" class="state-reference">aria-grabbed</a></dt> <dd>[Deprecated in ARIA 1.1] Indicates an element's "grabbed" <a href="#dfn-state" class="internalDFN" data-link-type="dfn">state</a> in a drag-and-drop operation.</dd> <dt><a href="#aria-haspopup" class="property-reference">aria-haspopup</a></dt> <dd>Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a>.</dd> <dt><a href="#aria-hidden" class="state-reference">aria-hidden</a></dt> <dd>Indicates whether the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> is exposed to an accessibility <abbr title="application programming interface">API</abbr>. See related <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a>.</dd> <dt><a href="#aria-invalid" class="state-reference">aria-invalid</a></dt> <dd>Indicates the entered value does not conform to the format expected by the application. See related <a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a>.</dd> <dt><a href="#aria-keyshortcuts" class="property-reference">aria-keyshortcuts</a></dt> <dd>Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.</dd> <dt><a href="#aria-label" class="property-reference">aria-label</a></dt> <dd>Defines a string value that labels the current element. See related <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a>.</dd> <dt><a href="#aria-labelledby" class="property-reference">aria-labelledby</a></dt> <dd>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> (or elements) that labels the current element. See related <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>.</dd> <dt><a href="#aria-level" class="property-reference">aria-level</a></dt> <dd>Defines the hierarchical level of an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> within a structure.</dd> <dt><a href="#aria-live" class="property-reference">aria-live</a></dt> <dd>Indicates that an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> will be updated, and describes the types of updates the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn">user agents</a>, <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn">assistive technologies</a>, and user can expect from the <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn">live region</a>.</dd> <dt><a href="#aria-modal" class="property-reference">aria-modal</a></dt> <dd>Indicates whether an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> is modal when displayed.</dd> <dt><a href="#aria-multiline" class="property-reference">aria-multiline</a></dt> <dd>Indicates whether a text box accepts multiple lines of input or only a single line.</dd> <dt><a href="#aria-multiselectable" class="property-reference">aria-multiselectable</a></dt> <dd>Indicates that the user may select more than one item from the current selectable descendants.</dd> <dt><a href="#aria-orientation" class="property-reference">aria-orientation</a></dt> <dd>Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.</dd> <dt><a href="#aria-owns" class="property-reference">aria-owns</a></dt> <dd>Identifies an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> (or elements) in order to define a visual, functional, or contextual parent/child <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn">relationship</a> between <abbr title="Document Object Model">DOM</abbr> elements where the <abbr title="Document Object Model">DOM</abbr> hierarchy cannot be used to represent the relationship. See related <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a>.</dd> <dt><a href="#aria-placeholder" class="property-reference">aria-placeholder</a></dt> <dd>Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.</dd> <dt><a href="#aria-posinset" class="property-reference">aria-posinset</a></dt> <dd>Defines an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a>'s number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the <abbr title="Document Object Model">DOM</abbr>. See related <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a>.</dd> <dt><a href="#aria-pressed" class="state-reference">aria-pressed</a></dt> <dd>Indicates the current "pressed" <a href="#dfn-state" class="internalDFN" data-link-type="dfn">state</a> of toggle buttons. See related <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> and <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a>.</dd> <dt><a href="#aria-readonly" class="property-reference">aria-readonly</a></dt> <dd> Indicates that the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> is not editable, but is otherwise <a href="#dfn-operable" class="internalDFN" data-link-type="dfn">operable</a>. See related <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a>.</dd> <dt><a href="#aria-relevant" class="property-reference">aria-relevant</a></dt> <dd>Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. See related <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a>.</dd> <dt><a href="#aria-required" class="property-reference">aria-required</a></dt> <dd>Indicates that user input is required on the <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a> before a form may be submitted.</dd> <dt><a href="#aria-roledescription" class="property-reference">aria-roledescription</a></dt> <dd>Defines a human-readable, author-localized description for the <a href="#dfn-role" class="internalDFN" data-link-type="dfn">role</a> of an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element</a>.</dd> <dt><a href="#aria-rowcount" class="property-reference">aria-rowcount</a></dt> <dd>Defines the total number of rows in a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a>.</dd> <dt><a href="#aria-rowindex" class="property-reference">aria-rowindex</a></dt> <dd>Defines an <a href="#dfn-element" class="internalDFN" data-link-type="dfn">element's</a> row index or position with respect to the total number of rows within a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-rowcount" class="property-reference"><code>aria-rowcount</code></a> and <a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a>.</dd> <dt><a href="#aria-rowspan" class="property-reference">aria-rowspan</a></dt> <dd>Defines the number of rows spanned by a cell or gridcell within a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a> and <a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a>.</dd> <dt><a href="#aria-selected" class="state-reference">aria-selected</a></dt> <dd>Indicates the current "selected" <a href="#dfn-state" class="internalDFN" data-link-type="dfn">state</a> of various <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widgets</a>. See related <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> and <a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a>.</dd> <dt><a href="#aria-setsize" class="property-reference">aria-setsize</a></dt> <dd>Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the <abbr title="Document Object Model">DOM</abbr>. See related <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a>.</dd> <dt><a href="#aria-sort" class="property-reference">aria-sort</a></dt> <dd>Indicates if items in a table or grid are sorted in ascending or descending order.</dd> <dt><a href="#aria-valuemax" class="property-reference">aria-valuemax</a></dt> <dd>Defines the maximum allowed value for a range <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widget</a>.</dd> <dt><a href="#aria-valuemin" class="property-reference">aria-valuemin</a></dt> <dd>Defines the minimum allowed value for a range <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widget</a>.</dd> <dt><a href="#aria-valuenow" class="property-reference">aria-valuenow</a></dt> <dd>Defines the current value for a range <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widget</a>. See related <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a>.</dd> <dt><a href="#aria-valuetext" class="property-reference">aria-valuetext</a></dt> <dd>Defines the human readable text alternative of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> for a range <a href="#dfn-widget" class="internalDFN" data-link-type="dfn">widget</a>.</dd> </dl> <section class="property notoc" id="aria-activedescendant"> <h4><span class="property-name" title="aria-activedescendant" aria-describedby="desc-aria-activedescendant"><code>aria-activedescendant</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-activedescendant" role="definition"> <p>Identifies the currently active element when <abbr title="Document Object Model">DOM</abbr> focus is on a <a href="#composite" class="role-reference"><code>composite</code></a> widget, <a href="#combobox" class="role-reference"><code>combobox</code></a>, <a href="#textbox" class="role-reference"><code>textbox</code></a>, <a href="#group" class="role-reference"><code>group</code></a>, or <a href="#application" class="role-reference"><code>application</code></a>.</p> <p>The <code>aria-activedescendant</code> property provides an alternative method of managing focus for interactive elements that may contain multiple focusable descendants, such as menus, grids, and toolbars. Instead of moving <abbr title="Document Object Model">DOM</abbr> focus among <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-29">owned</a> elements, authors <em class="rfc2119">MAY</em> set <abbr title="Document Object Model">DOM</abbr> focus on a container <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-75">element</a> that supports <code>aria-activedescendant</code> and then use <code>aria-activedescendant</code> to refer to the element that is active.</p> <p> Authors <em class="rfc2119">MUST</em> ensure that one of the following two sets of conditions is met when setting the value of <code>aria-activedescendant</code> on an element with <abbr title="Document Object Model">DOM</abbr> focus:</p> <ol> <li>The value of <code>aria-activedescendant</code> refers to an <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-30">owned</a> element. An owned element is either a descendant of the element with <abbr title="Document Object Model">DOM</abbr> focus or a logical descendant as indicated by the <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> attribute.</li> <li> The element with <abbr title="Document Object Model">DOM</abbr> focus is a <a href="#combobox" class="role-reference"><code>combobox</code></a>, <a href="#textbox" class="role-reference"><code>textbox</code></a> or <a href="#searchbox" class="role-reference"><code>searchbox</code></a> with <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a> referring to an element that supports <code>aria-activedescendant</code>, and the value of <code>aria-activedescendant</code> refers to an owned element of the controlled element. For example, in a <a href="#combobox" class="role-reference"><code>combobox</code></a>, focus may remain on the <a href="#combobox" class="role-reference"><code>combobox</code></a> while the value of <code>aria-activedescendant</code> on the <a href="#combobox" class="role-reference"><code>combobox</code></a> element refers to a descendant of a popup <a href="#listbox" class="role-reference"><code>listbox</code></a> that is controlled by the <a href="#combobox" class="role-reference"><code>combobox</code></a>. </li> </ol> <p> Authors <em class="rfc2119">SHOULD</em> also ensure that the currently active descendant is visible and in view (or scrolls into view) when focused.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><cite><a href="https://www.w3.org/TR/SVG2/"><abbr title="Scalable Vector Graphics">SVG</abbr></a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-svg2" title="Scalable Vector Graphics (SVG) 2">SVG2</a></cite>] and <cite><a href="https://dom.spec.whatwg.org/"><abbr title="Document Object Model">DOM</abbr></a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-dom" title="DOM Standard">DOM</a></cite>] active</td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#application" class="role-reference"><code>application</code></a></li> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#composite" class="role-reference"><code>composite</code></a></li> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#menu" class="role-reference"><code>menu</code></a></li> <li><a href="#menubar" class="role-reference"><code>menubar</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> <li><a href="#select" class="role-reference"><code>select</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> <li><a href="#tablist" class="role-reference"><code>tablist</code></a></li> <li><a href="#toolbar" class="role-reference"><code>toolbar</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_idref">ID reference</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-atomic"> <h4><span class="property-name" title="aria-atomic" aria-describedby="desc-aria-atomic"><code>aria-atomic</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-atomic" role="definition"> <p>Indicates whether <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-48">assistive technologies</a> will present all, or only parts of, the changed region based on the change notifications defined by the <a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a> attribute.</p> <p>Both <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-27">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a> and the <cite><a href="https://dom.spec.whatwg.org/">Document Object Model</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-dom" title="DOM Standard">DOM</a></cite>] provide events to allow the assistive technologies to determine changed areas of the document.</p> <p>When the content of a <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-10">live region</a> changes, user agents <em class="rfc2119">SHOULD</em> examine the changed <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-76">element</a> and traverse the ancestors to find the first element with <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a> set, and apply the appropriate behavior for the cases below.</p> <ol> <li>If none of the ancestors have explicitly set <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a>, the default is that <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a> is <code>false</code>, and assistive technologies will only present the changed node to the user.</li> <li>If <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a> is explicitly set to <code>false</code>, assistive technologies will stop searching up the ancestor chain and present only the changed node to the user.</li> <li>If <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a> is explicitly set to <code>true</code>, assistive technologies will present the entire contents of the element, including the author-defined live region label if one exists.</li> </ol> <p>When <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a> is <code>true</code>, assistive technologies <em class="rfc2119">MAY</em> choose to combine several changes and present the entire changed region at once.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_true-false">true/false</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">Assistive technologies will present only the changed node or nodes.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">Assistive technologies will present the entire changed region as a whole, including the author-defined label if one exists.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-autocomplete"> <h4><span class="property-name" title="aria-autocomplete" aria-describedby="desc-aria-autocomplete"><code>aria-autocomplete</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-autocomplete" role="definition"> <p>Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a <a href="#combobox" class="role-reference"><code>combobox</code></a>, <a href="#searchbox" class="role-reference"><code>searchbox</code></a>, or <a href="#textbox" class="role-reference"><code>textbox</code></a> and specifies how predictions would be presented if they were made.</p> <p>The <code>aria-autocomplete</code> property describes the type of interaction model a <a href="#textbox" class="role-reference"><code>textbox</code></a>, <a href="#searchbox" class="role-reference"><code>searchbox</code></a>, or <a href="#combobox" class="role-reference"><code>combobox</code></a> employs when dynamically helping users complete text input. It distinguishes between two models: the inline model (<code>aria-autocomplete="inline"</code>) that presents a value completion prediction inside the text input and the list model (<code>aria-autocomplete="list"</code>) that presents a collection of possible values in a separate element that pops up adjacent to the text input. It is possible for an input to offer both models at the same time (<code>aria-autocomplete="both"</code>).</p> <p>The <code>aria-autocomplete</code> property is limited to describing predictive behaviors of an input element. Authors <em class="rfc2119">SHOULD</em> either omit specifying a value for <code>aria-autocomplete</code> or set <code>aria-autocomplete</code> to <code>none</code> if an input element provides one or more input proposals where none of the proposals are dependent on the specific input provided by the user. For instance, a combobox where the value of <code>aria-autocomplete</code> would be <code>none</code> is a search field that displays suggested values by listing the 5 most recently used search terms without any filtering of the list based on the user's input. Elements with a role that supports <code>aria-autocomplete</code> have a default value for <code>aria-autocomplete</code> of <code>none</code>.</p> <p>When an inline suggestion is made as a user types in an input, suggested text for completing the value of the field dynamically appears in the field after the input cursor, and the suggested value is accepted as the value of the input if the user performs an action that causes focus to leave the field. When an element has <code>aria-autocomplete</code> set to <code>inline</code> or <code>both</code>, authors <em class="rfc2119">SHOULD</em> ensure that the automatically suggested portion of the text is presented as selected text. This enables assistive technologies to distinguish between a user's input and the automatic suggestion and, in the event that the suggestion is not the desired value, enables the user to easily delete the suggestion or replace it by continuing to type.</p> <p> If an element has <code>aria-autocomplete</code> set to <code>list</code> or <code>both</code>, authors <em class="rfc2119">MUST</em> ensure both of the following conditions are met:</p> <ol> <li>The element has a value specified for <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a> that refers to the element that contains the collection of suggested values.</li> <li>The element has a value for <a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> that matches the role of the element that contains the collection of suggested values.</li> </ol> <p>Some implementations of the list model require the user to perform an action, such as moving focus to the suggestion with the <kbd>Down Arrow</kbd> or clicking on the suggestion, in order to choose the suggestion. In such implementations, authors <em class="rfc2119">MAY</em> manage focus by either using <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> if the collection container supports it or by moving <abbr title="Document Object Model">DOM</abbr> focus to the suggestion. However, other implementations of the list model automatically highlight one suggestion as the selected value that will be accepted when the field loses focus, e.g., when the user presses the <kbd>Tab</kbd> key or clicks on a different field. If an element has <code>aria-autocomplete</code> set to <code>list</code> or <code>both</code>, and if a suggestion is automatically selected as the user provides input, authors <em class="rfc2119">MUST</em> ensure all the following conditions are met:</p> <ol> <li>The collection of suggestions is presented in an element with a role that supports <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a>.</li> <li>The value of <code>aria-activedescendant</code> set on the input field is dynamically adjusted to refer to the element containing the selected suggestion as described in the definition of <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a>.</li> <li><abbr title="Document Object Model">DOM</abbr> focus remains on the text input while the suggestions are displayed.</li> </ol> <p>The <code>aria-autocomplete</code> property is not intended to indicate the presence of a completion suggestion, and authors <em class="rfc2119">SHOULD NOT</em> dynamically change its value in order to communicate the presence of a suggestion. When an element has <code>aria-autocomplete</code> set to <code>list</code> or <code>both</code>, authors <em class="rfc2119">SHOULD</em> use the <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> state to communicate whether the element that presents the suggestion collection is displayed.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_token">token</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">inline</th> <td class="value-description">When a user is providing input, text suggesting one way to complete the provided input may be dynamically inserted after the caret.</td> </tr> <tr> <th class="value-name" scope="row">list</th> <td class="value-description">When a user is providing input, an element containing a collection of values that could complete the provided input may be displayed.</td> </tr> <tr> <th class="value-name" scope="row">both</th> <td class="value-description">When a user is providing input, an element containing a collection of values that could complete the provided input may be displayed. If displayed, one value in the collection is automatically selected, and the text needed to complete the automatically selected value appears after the caret in the input.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">none (default)</strong></th> <td class="value-description">When a user is providing input, an automatic suggestion that attempts to predict how the user intends to complete the input is not displayed.</td> </tr> </tbody> </table> </section> <section class="state notoc" id="aria-busy"> <h4><span class="state-name" title="aria-busy" aria-describedby="desc-aria-busy"><code>aria-busy</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-busy" role="definition"> <p>Indicates an element is being modified and that assistive technologies <em class="rfc2119">MAY</em> want to wait until the modifications are complete before exposing them to the user.</p> <p>The default value of <code>aria-busy</code> is <code>false</code> for all elements. When <code>aria-busy</code> is <code>true</code> for an element, assistive technologies <em class="rfc2119">MAY</em> ignore changes to content owned by that element and then process all changes made during the busy period as a single, atomic update when <code>aria-busy</code> becomes <code>false</code>.</p> <p>If it is necessary to make multiple additions, modifications, or removals within a container element that is already either partially or fully rendered, authors <em class="rfc2119">MAY</em> set <code>aria-busy</code> to <code>true</code> on the container element before the first change, and then set it to <code>false</code> when the last change is complete. For example, if multiple changes to a <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-11">live region</a> should be spoken as a single unit of speech, authors <em class="rfc2119">MAY</em> set <code>aria-busy</code> to <code>true</code> while the changes are being made and then set it to <code>false</code> when the changes are complete and ready to be spoken.</p> <p>If an element with role <a href="#feed" class="role-reference"><code>feed</code></a> is marked busy, assistive technologies <em class="rfc2119">MAY</em> defer rendering changes that occur inside the <code>feed</code> with the exception of user-initiated changes that occur inside the <a href="#article" class="role-reference"><code>article</code></a> that the user is reading during the busy period.</p> <p>If changes to a rendered <a href="#widget" class="role-reference"><code>widget</code></a> would create a state where the <a href="#widget" class="role-reference"><code>widget</code></a> is missing <a href="#mustContain">required owned elements</a> during script execution, authors <em class="rfc2119">MUST</em> set <code>aria-busy</code> to <code>true</code> on the <a href="#widget" class="role-reference"><code>widget</code></a> during the update process. For example, if a rendered tree grid required a set of simultaneous updates to multiple discontiguous branches, an alternative to replacing the complete tree element with a single update would be to mark the tree busy while each of the branches are modified.</p> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability">All elements of the base markup</td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="state-value"><a href="#valuetype_true-false">true/false</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong>:</th> <td class="value-description">There are no expected updates for the element.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">The element is being updated.</td> </tr> </tbody> </table> </section> <section class="state notoc" id="aria-checked"> <h4><span class="state-name" title="aria-checked" aria-describedby="desc-aria-checked"><code>aria-checked</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-checked" role="definition"> <p>Indicates the current "checked" <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-26">state</a> of checkboxes, radio buttons, and other <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-24">widgets</a>. See related <a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a> and <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a>.</p> <p>The <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-28">attribute</a> indicates whether the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-77">element</a> is checked (<code>true</code>), unchecked (<code>false</code>), or represents a group of other elements that have a mixture of checked and unchecked <span>values</span> (<code>mixed</code>). Most inputs only support values of <code>true</code> and <code>false</code>, but the <code>mixed</code> value is supported by certain tri-state inputs such as a <a href="#checkbox" class="role-reference"><code>checkbox</code></a> or <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a>.</p> <p>The <code>mixed</code> value is <em>not</em> supported on <a href="#radio" class="role-reference"><code>radio</code></a>, <a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a>, <a href="#switch" class="role-reference"><code>switch</code></a> or any element that inherits from these, and <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-38">user agents</a> <em class="rfc2119">MUST</em> treat a <code>mixed</code> value as equivalent to <code>false</code> for those <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-83">roles</a>.</p> <p>Examples using the <code>mixed</code> value of tri-state inputs are covered in the <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite>.</p> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability"><ul> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> <li><a href="#radio" class="role-reference"><code>radio</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> </ul> </td> </tr> <tr> <th class="state-descendants-head" scope="row">Inherits into Roles:</th> <td class="state-descendants"><ul> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="state-value"><a href="#valuetype_tristate">tristate</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">false</th> <td class="value-description">The element supports being checked but is not currently checked.</td> </tr> <tr> <th class="value-name" scope="row">mixed</th> <td class="value-description">Indicates a mixed mode value for a tri-state checkbox or menuitemcheckbox.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">The element is checked.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">undefined</strong> (default)</th> <td class="value-description">The element does not support being checked.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-colcount"> <h4><span class="property-name" title="aria-colcount" aria-describedby="desc-aria-colcount"><code>aria-colcount</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-colcount" role="definition"> <p>Defines the total number of columns in a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a>.</p> <p>If all of the columns are present in the <abbr title="Document Object Model">DOM</abbr>, it is not necessary to set this <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-29">attribute</a> as the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-39">user agent</a> can automatically calculate the total number of columns. However, if only a portion of the columns is present in the <abbr title="Document Object Model">DOM</abbr> at a given moment, this attribute is needed to provide an explicit indication of the number of columns in the full table.</p> <p>Authors <em class="rfc2119">MUST</em> set the value of <a href="#aria-colcount" class="property-reference"><code>aria-colcount</code></a> to an integer equal to the number of columns in the full table. If the total number of columns is unknown, authors <em class="rfc2119">MUST</em> set the value of <a href="#aria-colcount" class="property-reference"><code>aria-colcount</code></a> to <code>-1</code> to indicate that the value should not be calculated by the user agent.</p> <p>The following example shows a grid with 16 columns, of which columns 2, 3, 4, and 9 are displayed to the user.</p> <div class="example" id="example-17"> <div class="marker"> <a class="self-link" href="#example-17">Example<bdi> 17</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"grid"</span> <span class="hljs-attr">aria-colcount</span>=<span class="hljs-string">"16"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span>First Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"3"</span>></span>Last Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"4"</span>></span>Company<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"9"</span>></span>Phone<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span>Fred<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"3"</span>></span>Jackson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"4"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"9"</span>></span>555-1234<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span>Sara<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"3"</span>></span>James<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"4"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"9"</span>></span>555-1235<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> … <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#table" class="role-reference"><code>table</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_integer">integer</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-colindex"> <h4><span class="property-name" title="aria-colindex" aria-describedby="desc-aria-colindex"><code>aria-colindex</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-colindex" role="definition"> <p>Defines an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-78">element's</a> column index or position with respect to the total number of columns within a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-colcount" class="property-reference"><code>aria-colcount</code></a> and <a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a>.</p> <p>If all of the columns are present in the <abbr title="Document Object Model">DOM</abbr>, it is not necessary to set this <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-30">attribute</a> as the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-40">user agent</a> can automatically calculate the column index of each cell or <a href="#gridcell" class="role-reference"><code>gridcell</code></a>. However, if only a portion of the columns is present in the <abbr title="Document Object Model">DOM</abbr> at a given moment, this attribute is needed to provide an explicit indication of the column of each cell or gridcell with respect to the full table.</p> <p>Authors <em class="rfc2119">MUST</em> set the <span>value</span> for <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> to an integer greater than or equal to 1, greater than the <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> value of any previous elements within the same row, and less than or equal to the number of columns in the full table. For a cell or gridcell which spans multiple columns, authors <em class="rfc2119">MUST</em> set the value of <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> to the start of the span.</p> <p>If the set of columns which is present in the <abbr title="Document Object Model">DOM</abbr> is contiguous, and if there are no cells which span more than one row or column in that set, then authors <em class="rfc2119">MAY</em> place <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> on each row, setting the value to the index of the first column of the set. Otherwise, authors <em class="rfc2119">SHOULD</em> place <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> on all of the children or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-31">owned</a> elements of each row.</p> <p>The following example shows a grid with 16 columns, of which columns 2 through 5 are displayed to the user. Because the set of columns is contiguous, <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> can be placed on each row.</p> <div class="example" id="example-18"> <div class="marker"> <a class="self-link" href="#example-18">Example<bdi> 18</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"grid"</span> <span class="hljs-attr">aria-colcount</span>=<span class="hljs-string">"16"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>First Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>Last Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>Company<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>Address<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Fred<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Jackson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>123 Broad St.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Sara<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>James<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>123 Broad St.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> … <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> <p>The following example shows a grid with 16 columns, of which columns 2 through 5 are displayed to the user. While the set of columns is contiguous, some of the cells span multiple rows. As a result, <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> needs to be placed on all of the owned elements of each row.</p> <div class="example" id="example-19"> <div class="marker"> <a class="self-link" href="#example-19">Example<bdi> 19</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"grid"</span> <span class="hljs-attr">aria-colcount</span>=<span class="hljs-string">"16"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span>First Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"3"</span>></span>Last Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"4"</span>></span>Company<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"5"</span>></span>Address<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span>Fred<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"3"</span>></span>Jackson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"4"</span> <span class="hljs-attr">aria-rowspan</span>=<span class="hljs-string">"2"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"5"</span> <span class="hljs-attr">aria-rowspan</span>=<span class="hljs-string">"2"</span>></span>123 Broad St.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span>Sara<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"3"</span>></span>James<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> … <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> <p>The following example shows a grid with 16 columns, of which columns 2, 3, 4, and 9 are displayed to the user. Because the set of columns is non-contiguous, <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> needs to be placed on all of the owned elements of each row.</p> <div class="example" id="example-20"> <div class="marker"> <a class="self-link" href="#example-20">Example<bdi> 20</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"grid"</span> <span class="hljs-attr">aria-colcount</span>=<span class="hljs-string">"16"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span>First Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"3"</span>></span>Last Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"4"</span>></span>Company<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"9"</span>></span>Phone<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span>Fred<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"3"</span>></span>Jackson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"4"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"9"</span>></span>555-1234<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"2"</span>></span>Sara<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"3"</span>></span>James<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"4"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-colindex</span>=<span class="hljs-string">"9"</span>></span>555-1235<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> … <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_integer">integer</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-colspan"> <h4><span class="property-name" title="aria-colspan" aria-describedby="desc-aria-colspan"><code>aria-colspan</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-colspan" role="definition"> <p>Defines the number of columns spanned by a cell or gridcell within a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a> and <a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a>.</p> <p>This <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-31">attribute</a> is intended for cells and gridcells which are not contained in a native table. When defining the column span of cells or gridcells in a native table, authors <em class="rfc2119">SHOULD</em> use the host language's attribute instead of <a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a>. If <a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a> is used on an element for which the host language provides an equivalent attribute, <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-41">user agents</a> <em class="rfc2119">MUST</em> ignore the value of <a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a> and instead expose the value of the host language's attribute to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-49">assistive technologies</a>.</p> <p>Authors <em class="rfc2119">MUST</em> set the <span>value</span> of <a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a> to an integer greater than or equal to 1 and less than the value which would cause the cell or gridcell to overlap the next cell or gridcell in the same row.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_integer">integer</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-controls"> <h4><span class="property-name" title="aria-controls" aria-describedby="desc-aria-controls"><code>aria-controls</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-controls" role="definition"> <p>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-79">element</a> (or elements) whose contents or presence are controlled by the current element. See related <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a>.</p> <p>For example:</p> <ul> <li>A table of contents tree view may control the content of a neighboring document pane.</li> <li>A group of checkboxes may control what commodity prices are tracked live in a table or graph.</li> <li>A tab controls the display of its associated tab panel.</li> </ul> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_idref_list">ID reference list</a></td> </tr> </tbody> </table> </section> <section class="state notoc" id="aria-current"> <h4><span class="state-name" title="aria-current" aria-describedby="desc-aria-current"><code>aria-current</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-current" role="definition"> <p>Indicates the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-80">element</a> that represents the current item within a container or set of related elements.</p> <p>The <a href="#aria-current" class="state-reference"><code>aria-current</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-32">attribute</a> is a token type. Any value not included in the list of allowed values <em class="rfc2119">SHOULD</em> be treated by <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-50">assistive technologies</a> as if the value <code>true</code> had been provided. If the attribute is not present or its value is an empty string or <code>undefined</code>, the default value of <code>false</code> applies and the <a href="#aria-current" class="state-reference"><code>aria-current</code></a> <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-27">state</a> <em class="rfc2119">MUST NOT</em> be exposed by user agents or assistive technologies.</p> <p>The <a href="#aria-current" class="state-reference"><code>aria-current</code></a> attribute is used when an element within a set of related elements is visually styled to indicate it is the current item in the set. For example:</p> <ul> <li>A <code>page</code> token used to indicate a link within a set of pagination links, where the link is visually styled to represent the currently-displayed page.</li> <li>A <code>step</code> token used to indicate a link within a step indicator for a step-based process, where the link is visually styled to represent the current step.</li> <li>A <code>location</code> token used to indicate the image that is visually highlighted as the current component of a flow chart.</li> <li>A <code>date</code> token used to indicate the current date within a calendar.</li> <li>A <code>time</code> token used to indicate the current time within a timetable.</li> </ul> <p>Authors <em class="rfc2119">SHOULD</em> only mark one element in a set of elements as current with <a href="#aria-current" class="state-reference"><code>aria-current</code></a>.</p> <p>Authors <em class="rfc2119">SHOULD NOT</em> use the <a href="#aria-current" class="state-reference"><code>aria-current</code></a> attribute as a substitute for <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> in widgets where <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> has the same meaning. For example, in a <a href="#tablist" class="role-reference"><code>tablist</code></a>, <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> is used on a <a href="#tab" class="role-reference"><code>tab</code></a> to indicate the currently-displayed <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a>.</p> <div class="note" role="note" id="issue-container-generatedID-48"><div role="heading" class="note-title marker" id="h-note-48" aria-level="4"><span>Note</span></div><p class="">In some use cases for widgets that support <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a>, current and selected can have different meanings and can both be used within the same set of elements. For example, <code>aria-current="page"</code> can be used in a navigation <a href="#tree" class="role-reference"><code>tree</code></a> to indicate which page is currently displayed, while <code>aria-selected="true"</code> indicates which page will be displayed if the user activates the <a href="#treeitem" class="role-reference"><code>treeitem</code></a>. Furthermore, the same tree may support operating on one or more selected pages (treeitems) by way of a context menu containing options such as "delete" and "move."</p></div> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability">All elements of the base markup</td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_token">token</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">page</th> <td class="value-description">Represents the current page within a set of pages.</td> </tr> <tr> <th class="value-name" scope="row">step</th> <td class="value-description">Represents the current step within a process.</td> </tr> <tr> <th class="value-name" scope="row">location</th> <td class="value-description">Represents the current location within an environment or context.</td> </tr> <tr> <th class="value-name" scope="row">date</th> <td class="value-description">Represents the current date within a collection of dates.</td> </tr> <tr> <th class="value-name" scope="row">time</th> <td class="value-description">Represents the current time within a set of times.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">Represents the current item within a set.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">Does not represent the current item within a set.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-describedby"> <h4><span class="property-name" title="aria-describedby" aria-describedby="desc-aria-describedby"><code>aria-describedby</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-describedby" role="definition"> <p>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-81">element</a> (or elements) that describes the <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-21">object</a>. See related <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a>.</p> <p>The <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> attribute is similar to the <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> in that both reference other elements to calculate a text alternative, but a label should be concise, where a description is intended to provide more verbose information.</p> <p>The element or elements referenced by the aria-describedby comprise the entire description. Include ID references to multiple elements if necessary, or enclose a set of elements (e.g., paragraphs) with the element referenced by the ID.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"> <ul> <li><code><label></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</li> <li>online help</li> <li><abbr title="Hypertext Markup Language">HTML</abbr> table cell headers</li> </ul> </td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_idref_list">ID reference list</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-details"> <h4><span class="property-name" title="aria-details" aria-describedby="desc-aria-details"><code>aria-details</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-details" role="definition"> <p>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-82">element</a> that provides a detailed, extended description for the <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-22">object</a>. See related <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>.</p> <p>The <code>aria-details</code> attribute references a single element that provides more detailed information than would normally be provided by <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>. It enables <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-51">assistive technologies</a> to make users aware of the availability of an extended description as well as navigate to it. Authors <em class="rfc2119">SHOULD</em> ensure the element referenced by <code>aria-details</code> is visible to all users.</p> <p>Unlike elements referenced by <code>aria-describedby</code>, the element referenced by <code>aria-details</code> is not used in either the Accessible <a href="https://www.w3.org/TR/accname-1.2/#mapping_additional_nd_name" class="accname">Name Computation</a> or the Accessible <a href="https://www.w3.org/TR/accname-1.2/#mapping_additional_nd_description" class="accname">Description Computation</a> as defined in the Accessible Name and Description specification. Thus, the content of an element referenced by <code>aria-details</code> is not flattened to a string when presented to assistive technology users. This makes <code>aria-details</code> particularly useful when converting the information to a string would cause a loss of information or make the extended description more difficult to understand.</p> <p>In some user agents, multiple reference relationships for descriptive information are not supported by the accessibility <abbr title="application programming interface">API</abbr>. In such cases, if both <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> and <code>aria-details</code> are provided on an element, <code>aria-details</code> takes precedence.</p> <p>A common use for <code>aria-details</code> is in digital publishing where an extended description needs to be conveyed in a book that requires structural markup or the embedding of other technology to provide illustrative content. The following example demonstrates this scenario.</p> <div class="example" id="example-21"> <div class="marker"> <a class="self-link" href="#example-21">Example<bdi> 21</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-comment"><!-- Provision of an extended description --></span> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"pythagorean.jpg"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"Pythagorean Theorem"</span> <span class="hljs-attr">aria-details</span>=<span class="hljs-string">"det"</span>></span> <span class="hljs-tag"><<span class="hljs-name">details</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"det"</span>></span> <span class="hljs-tag"><<span class="hljs-name">summary</span>></span>Example<span class="hljs-tag"></<span class="hljs-name">summary</span>></span> <span class="hljs-tag"><<span class="hljs-name">p</span>></span> The Pythagorean Theorem is a relationship in Euclidean Geometry between the three sides of a right triangle, where the square of the hypotenuse is the sum of the squares of the two opposing sides. <span class="hljs-tag"></<span class="hljs-name">p</span>></span> <span class="hljs-tag"><<span class="hljs-name">p</span>></span> The following drawing illustrates an application of the Pythagorean Theorem when used to construct a skateboard ramp. <span class="hljs-tag"></<span class="hljs-name">p</span>></span> <span class="hljs-tag"><<span class="hljs-name">object</span> <span class="hljs-attr">data</span>=<span class="hljs-string">"skatebd-ramp.svg"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"image/svg+xml"</span>></span><span class="hljs-tag"></<span class="hljs-name">object</span>></span> <span class="hljs-tag"><<span class="hljs-name">p</span>></span> In this example you will notice a skateboard with a base and vertical board whose width is the width of the ramp. To compute how long the ramp must be, simply calculate the base length, square it, sum it with the square of the height of the ramp, and take the square root of the sum. <span class="hljs-tag"></<span class="hljs-name">p</span>></span> <span class="hljs-tag"></<span class="hljs-name">details</span>></span></code></pre> </div> <p>Alternatively, <code>aria-details</code> may refer to a link to a web page having the extended description, as shown in the following example.</p> <div class="example" id="example-22"> <div class="marker"> <a class="self-link" href="#example-22">Example<bdi> 22</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-comment"><!-- Provision of an extended description --></span> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"pythagorean.jpg"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"Pythagorean Theorem"</span> <span class="hljs-attr">aria-details</span>=<span class="hljs-string">"det"</span>></span> <span class="hljs-tag"><<span class="hljs-name">p</span>></span> See an <span class="hljs-tag"><<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"http://foo.com/pt.html"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"det"</span>></span>Application of the Pythagorean Theorem<span class="hljs-tag"></<span class="hljs-name">a</span>></span>. <span class="hljs-tag"></<span class="hljs-name">p</span>></span></code></pre> </div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_idref">ID reference</a></td> </tr> </tbody> </table> </section> <section class="state notoc" id="aria-disabled"> <h4><span class="state-name" title="aria-disabled" aria-describedby="desc-aria-disabled"><code>aria-disabled</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-disabled" role="definition"> <p>Indicates that the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-83">element</a> is <a href="#dfn-perceivable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-perceivable-6">perceivable</a> but disabled, so it is not editable or otherwise <a href="#dfn-operable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-operable-4">operable</a>. See related <a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> and <a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a>.</p> <p>For example, irrelevant options in a radio group may be disabled. Disabled elements might not receive focus from the tab order. For some disabled elements, applications might choose not to support navigation to descendants. In addition to setting the <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> attribute, authors <em class="rfc2119">SHOULD</em> change the appearance (grayed out, etc.) to indicate that the item has been disabled.</p> <p>The <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-28">state</a> of being disabled applies to the current element and all focusable descendant elements of the element on which the <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-33">attribute</a> is applied.</p> <div class="note" role="note" id="issue-container-generatedID-49"><div role="heading" class="note-title marker" id="h-note-49" aria-level="4"><span>Note</span></div><p class="">While <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> and proper scripting can successfully disable an element with role <a href="#link" class="role-reference"><code>link</code></a>, fully disabling a host language equivalent can be problematic. Authors are advised not to use <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> on elements that cannot be disabled through features of the host language alone.</p></div> <div class="note" role="note" id="issue-container-generatedID-50"><div role="heading" class="note-title marker" id="h-note-50" aria-level="4"><span>Note</span><span class="issue-label">: Usage on columnheader, rowheader and row</span></div><p class="">While <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a> is currently supported on <a href="#columnheader" class="role-reference"><code>columnheader</code></a>, <a href="#rowheader" class="role-reference"><code>rowheader</code></a>, and <a href="#row" class="role-reference"><code>row</code></a>, in a future version the working group plans to prohibit its use on elements with any of those three roles except when they are in the context of a <a href="#grid" class="role-reference"><code>grid</code></a> or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</p></div> <div class="note" role="note" id="issue-container-generatedID-51"><div role="heading" class="note-title marker" id="h-note-51" aria-level="4"><span>Note</span></div><p class="">This state is being deprecated as a global state in ARIA 1.2. In future versions it will only be allowed on roles where it is specifically supported.</p></div> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability"><ul> <li><a href="#application" class="role-reference"><code>application</code></a></li> <li><a href="#button" class="role-reference"><code>button</code></a></li> <li><a href="#composite" class="role-reference"><code>composite</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#group" class="role-reference"><code>group</code></a></li> <li><a href="#input" class="role-reference"><code>input</code></a></li> <li><a href="#link" class="role-reference"><code>link</code></a></li> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> </ul> </td> </tr> <tr> <th class="state-descendants-head" scope="row">Inherits into Roles:</th> <td class="state-descendants"><ul> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#menu" class="role-reference"><code>menu</code></a></li> <li><a href="#menubar" class="role-reference"><code>menubar</code></a></li> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> <li><a href="#radio" class="role-reference"><code>radio</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> <li><a href="#select" class="role-reference"><code>select</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> <li><a href="#tablist" class="role-reference"><code>tablist</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> <li><a href="#toolbar" class="role-reference"><code>toolbar</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="state-value"><a href="#valuetype_true-false">true/false</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">The element is enabled.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">The element and all focusable descendants are disabled and its value cannot be changed by the user.</td> </tr> </tbody> </table> </section> <section class="property deprecated notoc" id="aria-dropeffect"> <h4><span class="property-name" title="aria-dropeffect" aria-describedby="desc-aria-dropeffect"><code>aria-dropeffect</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-dropeffect" role="definition"> <p>[Deprecated in ARIA 1.1] Indicates what functions can be performed when a dragged object is released on the drop target.</p> <div class="note" role="note" id="issue-container-generatedID-52"><div role="heading" class="note-title marker" id="h-note-52" aria-level="4"><span>Note</span></div><p class="">The <code>aria-dropeffect</code> property is expected to be replaced by a new feature in a future version of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>. Authors are therefore advised to treat <code>aria-dropeffect</code> as <a href="#dfn-deprecated" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-deprecated-1">deprecated</a>.</p></div> <p>This <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-23">property</a> allows assistive technologies to convey the possible drag options available to users, including whether a pop-up menu of choices is provided by the application. Typically, drop effect functions can only be provided once an object has been grabbed for a drag operation as the drop effect functions available are dependent on the object being dragged.</p> <p>More than one drop effect may be supported for a given <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-84">element</a>. Therefore, the value of this <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-34">attribute</a> is a space-separated set of tokens indicating the possible effects, or <code>none</code> if there is no supported operation. In addition to setting the <a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a> attribute, authors <em class="rfc2119">SHOULD</em> show a visual indication of potential drop targets.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_token_list">token list</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">copy</th> <td class="value-description">A duplicate of the source object will be dropped into the target.</td> </tr> <tr> <th class="value-name" scope="row">execute</th> <td class="value-description">A function supported by the drop target is executed, using the drag source as an input.</td> </tr> <tr> <th class="value-name" scope="row">link</th> <td class="value-description">A reference or shortcut to the dragged object will be created in the target object.</td> </tr> <tr> <th class="value-name" scope="row">move</th> <td class="value-description">The source object will be removed from its current location and dropped into the target.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">none (default)</strong></th> <td class="value-description">No operation can be performed; effectively cancels the drag operation if an attempt is made to drop on this object. Ignored if combined with any other token value. e.g., 'none copy' is equivalent to a 'copy' value.</td> </tr> <tr> <th class="value-name" scope="row">popup</th> <td class="value-description">There is a popup menu or dialog that allows the user to choose one of the drag operations (copy, move, link, execute) and any other drag functionality, such as cancel.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-errormessage"> <h4><span class="property-name" title="aria-errormessage" aria-describedby="desc-aria-errormessage"><code>aria-errormessage</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-errormessage" role="definition"> <p>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-85">element</a> that provides an error message for an <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-23">object</a>. See related <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> and <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>.</p> <p>The <code>aria-errormessage</code> attribute references another element that contains error message text. Authors <em class="rfc2119">MUST</em> use <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> in conjunction with <code>aria-errormessage</code>.</p> <p>When the value of an object is not valid, <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> is set to <code>true</code>, which indicates that the message contained by an element referenced by <code>aria-errormessage</code> is pertinent.</p> <p>When an object is in a valid state, it has either <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> set to <code>false</code> or it does not have the <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> attribute. Authors <em class="rfc2119">MAY</em> use <code>aria-errormessage</code> on an object that is currently valid, but only if the element referenced by <code>aria-errormessage</code> is <a href="#dfn-hidden" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-hidden-1">hidden</a>, because the message it contains is not pertinent.</p> <p>When <code>aria-errormessage</code> is pertinent, authors <em class="rfc2119">MUST</em> ensure the content is not hidden so users can navigate to and examine the error message. Similarly, when <code>aria-errormessage</code> is not pertinent, authors <em class="rfc2119">MUST</em> either ensure the content is <a href="#dfn-hidden" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-hidden-2">hidden</a> or remove the <code>aria-errormessage</code> attribute or its value.</p> <p>User agents <em class="rfc2119">MUST NOT</em> expose <code>aria-errormessage</code> for an object with an <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> value of <code>false</code>.</p> <p>Authors <em class="rfc2119">MAY</em> call attention to a newly rendered error message with a live region by either applying an <a href="#aria-live" class="property-reference"><code>aria-live</code></a> property or using one of the <a href="#live_region_roles">live region roles</a>, such as <a href="#alert" class="role-reference"><code>alert</code></a>. A live region is appropriate when an error message is displayed to users after they have provided an invalid value.</p> <p>A typical message describes what is wrong and informs users what is required. For example, an error message might be, <q>Invalid time: the time must be between 9:00 AM and 5:00 PM.</q> The following example code shows markup for an initial valid state and for a subsequent invalid state. Note the changes to <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> on the text input <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-24">object</a>, and to <a href="#aria-live" class="property-reference"><code>aria-live</code></a> on the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-86">element</a> containing the text of the error message:</p> <div class="example" id="example-23"> <div class="marker"> <a class="self-link" href="#example-23">Example<bdi> 23</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-comment"><!-- Initial valid state --></span> <span class="hljs-tag"><<span class="hljs-name">label</span> <span class="hljs-attr">for</span>=<span class="hljs-string">"startTime"</span>></span> Please enter a start time for the meeting: <span class="hljs-tag"></<span class="hljs-name">label</span>></span> <span class="hljs-tag"><<span class="hljs-name">input</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"startTime"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text"</span> <span class="hljs-attr">aria-errormessage</span>=<span class="hljs-string">"msgID"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">""</span> <span class="hljs-attr">aria-invalid</span>=<span class="hljs-string">"false"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"msgID"</span> <span class="hljs-attr">aria-live</span>=<span class="hljs-string">"assertive"</span>></span><span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"visibility:hidden"</span>></span>Invalid time: the time must be between 9:00 AM and 5:00 PM<span class="hljs-tag"></<span class="hljs-name">span</span>></span><span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-comment"><!-- User has input an invalid value --></span> <span class="hljs-tag"><<span class="hljs-name">label</span> <span class="hljs-attr">for</span>=<span class="hljs-string">"startTime"</span>></span> Please enter a start time for the meeting: <span class="hljs-tag"></<span class="hljs-name">label</span>></span> <span class="hljs-tag"><<span class="hljs-name">input</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"startTime"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text"</span> <span class="hljs-attr">aria-errormessage</span>=<span class="hljs-string">"msgID"</span> <span class="hljs-attr">aria-invalid</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"11:30 PM"</span> ></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"msgID"</span> <span class="hljs-attr">aria-live</span>=<span class="hljs-string">"assertive"</span>></span><span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"visibility:visible"</span>></span>Invalid time: the time must be between 9:00 AM and 5:00 PM<span class="hljs-tag"></<span class="hljs-name">span</span>></span><span class="hljs-tag"></<span class="hljs-name">span</span>></span></code></pre> </div> <div class="note" role="note" id="issue-container-generatedID-53"><div role="heading" class="note-title marker" id="h-note-53" aria-level="4"><span>Note</span></div><p class="">This example uses <code>aria-live="assertive"</code> to indicate that assistive technologies should immediately announce the error message rather than completing other queued announcements first. This increases the likelihood that users are aware of the error message before they move focus out of the input.</p></div> <div class="note" role="note" id="issue-container-generatedID-54"><div role="heading" class="note-title marker" id="h-note-54" aria-level="4"><span>Note</span></div><p class="">This state is being deprecated as a global state in ARIA 1.2. In future versions it will only be allowed on roles where it is specifically supported.</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#application" class="role-reference"><code>application</code></a></li> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_idref">ID reference</a></td> </tr> </tbody> </table> </section> <section class="state notoc" id="aria-expanded"> <h4><span class="state-name" title="aria-expanded" aria-describedby="desc-aria-expanded"><code>aria-expanded</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-expanded" role="definition"> <p>Indicates whether a grouping element owned or controlled by this element is expanded or collapsed.</p> <p>The <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> attribute is applied to a focusable, interactive element that toggles visibility of content in another element. For example, it is applied to a parent <a href="#treeitem" class="role-reference"><code>treeitem</code></a> to indicate whether its child branch of the tree is shown. Similarly, it can be applied to a <a href="#button" class="role-reference"><code>button</code></a> that controls visibility of a section of page content.</p> <p>If a grouping container that can be expanded or collapsed is not <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-32">owned</a> by the element that has the <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> attribute, the author <em class="rfc2119">SHOULD</em> identify the controlling relationship by referencing the container from the element that has <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> with the <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a> property.</p> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability"><ul> <li><a href="#application" class="role-reference"><code>application</code></a></li> <li><a href="#button" class="role-reference"><code>button</code></a></li> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#link" class="role-reference"><code>link</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="state-descendants-head" scope="row">Inherits into Roles:</th> <td class="state-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> </ul> </td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="state-value"><a href="#valuetype_true-false-undefined">true/false/undefined</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">false</th> <td class="value-description">The grouping element this element owns or controls is collapsed.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">The grouping element this element owns or controls is expanded.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">undefined (default)</strong></th> <td class="value-description">The element does not own or control a grouping element that is expandable.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-flowto"> <h4><span class="property-name" title="aria-flowto" aria-describedby="desc-aria-flowto"><code>aria-flowto</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-flowto" role="definition"> <p>Identifies the next <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-87">element</a> (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.</p> <p>When <a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a> has a single ID reference, it allows <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-52">assistive technologies</a> to, at the user's request, forego normal document reading order and go to the targeted <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-25">object</a>. However, when <a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a> is provided with multiple ID references, assistive technologies <em class="rfc2119">SHOULD</em> present the referenced elements as path choices.</p> <p>In the case of one or more ID references, <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-42">user agents</a> or assistive technologies <em class="rfc2119">SHOULD</em> give the user the option of navigating to any of the targeted elements. The name of the path can be determined by the name of the target element of the <a href="#aria-flowto" class="property-reference"><code>aria-flowto</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-35">attribute</a>. <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-28">Accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a> can provide named path <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-12">relationships</a>.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_idref_list">ID reference list</a></td> </tr> </tbody> </table> </section> <section class="state deprecated notoc" id="aria-grabbed"> <h4><span class="state-name" title="aria-grabbed" aria-describedby="desc-aria-grabbed"><code>aria-grabbed</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-grabbed" role="definition"> <p>[Deprecated in ARIA 1.1] Indicates an element's "grabbed" <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-29">state</a> in a drag-and-drop operation.</p> <div class="note" role="note" id="issue-container-generatedID-55"><div role="heading" class="note-title marker" id="h-note-55" aria-level="4"><span>Note</span></div><p class="">The <code>aria-grabbed</code> state is expected to be replaced by a new feature in a future version of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>. Authors are therefore advised to treat <code>aria-grabbed</code> as <a href="#dfn-deprecated" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-deprecated-2">deprecated</a>.</p></div> <p>Setting <code>aria-grabbed</code> to <code>true</code> indicates that the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-88">element</a> has been selected for dragging. Setting <code>aria-grabbed</code> to <code>false</code> indicates that the element can be grabbed for a drag-and-drop operation, but is not currently grabbed. If <code>aria-grabbed</code> is unspecified or set to <code>undefined</code> (default), the element cannot be grabbed.</p> <p>When <a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> is set to <code>true</code>, authors <em class="rfc2119">SHOULD</em> update the <a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-36">attribute</a> of all potential drop targets. When an element is not grabbed (the value is set to <code>false</code> or <code>undefined</code>, or the attribute is removed), authors <em class="rfc2119">SHOULD</em> revert the <a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a> attributes of the associated drop targets to <code>none</code>.</p> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability">All elements of the base markup</td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="state-value"><a href="#valuetype_true-false-undefined">true/false/undefined</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">false</th> <td class="value-description">Indicates that the element supports being dragged.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">Indicates that the element has been "grabbed" for dragging.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">undefined (default)</strong></th> <td class="value-description">Indicates that the element does not support being dragged.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-haspopup"> <h4><span class="property-name" title="aria-haspopup" aria-describedby="desc-aria-haspopup"><code>aria-haspopup</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-haspopup" role="definition"> <p>Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-89">element</a>.</p> <p>A popup element usually appears as a block of content that is on top of other content. Authors <em class="rfc2119">MUST</em> ensure that the role of the element that serves as the container for the popup content is <a href="#menu" class="role-reference"><code>menu</code></a>, <a href="#listbox" class="role-reference"><code>listbox</code></a>, <a href="#tree" class="role-reference"><code>tree</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#dialog" class="role-reference"><code>dialog</code></a>, and that the value of <code>aria-haspopup</code> matches the role of the popup container.</p> <p>For the popup element to be keyboard accessible, authors <em class="rfc2119">SHOULD</em> ensure that the element that can trigger the popup is focusable, that there is a keyboard mechanism for opening the popup, and that the popup element manages focus of all its descendants as described in <a href="#managingfocus">Managing Focus</a>.</p> <p>The <code>aria-haspopup</code> property is a token type. <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-43">User agents</a> <em class="rfc2119">MUST</em> treat any value of <code>aria-haspopup</code> that is not included in the list of allowed values, including an empty string, as if the value <code>false</code> had been provided. To provide backward compatibility with ARIA 1.0 content, user agents <em class="rfc2119">MUST</em> treat an <code>aria-haspopup</code> value of <code>true</code> as equivalent to a value of <code>menu</code>.</p> <p><a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-53">Assistive technologies</a> <em class="rfc2119">SHOULD NOT</em> expose the <code>aria-haspopup</code> property if it has a value of <code>false</code>.</p> <div class="note" role="note" id="issue-container-generatedID-56"><div role="heading" class="note-title marker" id="h-note-56" aria-level="4"><span>Note</span></div><p class="">A <a href="#tooltip" class="role-reference"><code>tooltip</code></a> is not considered to be a popup in this context.</p></div> <div class="note" role="note" id="issue-container-generatedID-57"><div role="heading" class="note-title marker" id="h-note-57" aria-level="4"><span>Note</span></div><p class=""><code>aria-haspopup</code> is most relevant to use when there is a visual indicator in the element that triggers the popup. For example, many controls styled with a downward pointing triangle, chevron, or ellipsis (three consecutive dots) have become standard visual indicators that a popup will display when the control is activated. If some functional difference is relevant to display to a sighted user by means of a different visual style, that functional difference is usually relevant to convey to users of assistive technology. If there is no visual indication that an element will trigger a popup, authors are advised to consider whether use of <code>aria-haspopup</code> is necessary, and avoid using it when it's not. </p></div> <div class="note" role="note" id="issue-container-generatedID-58"><div role="heading" class="note-title marker" id="h-note-58" aria-level="4"><span>Note</span></div><p class="">This property is being deprecated as a global property in ARIA 1.2. In future versions it will only be allowed on roles where it is specifically supported.</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"> <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a> </td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#application" class="role-reference"><code>application</code></a></li> <li><a href="#button" class="role-reference"><code>button</code></a></li> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#link" class="role-reference"><code>link</code></a></li> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_token">token</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">Indicates the element does not have a popup.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">Indicates the popup is a <a href="#menu" class="role-reference"><code>menu</code></a>.</td> </tr> <tr> <th class="value-name" scope="row">menu</th> <td class="value-description">Indicates the popup is a <a href="#menu" class="role-reference"><code>menu</code></a>.</td> </tr> <tr> <th class="value-name" scope="row">listbox</th> <td class="value-description">Indicates the popup is a <a href="#listbox" class="role-reference"><code>listbox</code></a>.</td> </tr> <tr> <th class="value-name" scope="row">tree</th> <td class="value-description">Indicates the popup is a <a href="#tree" class="role-reference"><code>tree</code></a>.</td> </tr> <tr> <th class="value-name" scope="row">grid</th> <td class="value-description">Indicates the popup is a <a href="#grid" class="role-reference"><code>grid</code></a>.</td> </tr> <tr> <th class="value-name" scope="row">dialog</th> <td class="value-description">Indicates the popup is a <a href="#dialog" class="role-reference"><code>dialog</code></a>.</td> </tr> </tbody> </table> </section> <section class="state notoc" id="aria-hidden"> <h4><span class="state-name" title="aria-hidden" aria-describedby="desc-aria-hidden"><code>aria-hidden</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-hidden" role="definition"> <p>Indicates whether the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-90">element</a> is exposed to an accessibility <abbr title="application programming interface">API</abbr>. See related <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a>.</p> <p>User agents determine an element's <a href="#dfn-hidden" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-hidden-3">hidden</a> status based on whether it is rendered, and the rendering is usually controlled by <abbr title="Cascading Style Sheets">CSS</abbr>. For example, an element whose <code>display</code> property is set to <code>none</code> is not rendered. An element is considered <a href="#dfn-hidden" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-hidden-4">hidden</a> if it, or any of its ancestors are not rendered or have their <code>aria-hidden</code> attribute value set to <code>true</code>.</p> <p>Authors <em class="rfc2119">MAY</em>, with caution, use aria-hidden to hide visibly rendered content from assistive technologies <em>only</em> if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors using aria-hidden to hide visible content from screen readers <em class="rfc2119">MUST</em> ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.</p> <div class="note" role="note" id="issue-container-generatedID-59"><div role="heading" class="note-title marker" id="h-note-59" aria-level="4"><span>Note</span></div><p class="">Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual may use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibility <abbr title="application programming interface">API</abbr>, the user may be unable to access the interface they perceive using voice control. Similar problems may also arise for screen reader users. For example, a sighted telephone support technician may attempt to have the blind screen reader user click the "Go to checkout" link, which they may be unable to find using a type-ahead item search ("Go to…").</p></div> <div class="note" role="note" id="issue-container-generatedID-60"><div role="heading" class="note-title marker" id="h-note-60" aria-level="4"><span>Note</span></div><p class="">At the time of this writing, <code><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a>="false"</code> is known to work inconsistently in browsers. As future implementations improve, use caution and test thoroughly before relying on this approach.</p></div> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability">All elements of the base markup</td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="state-value"><a href="#valuetype_true-false-undefined">true/false/undefined</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">false</th> <td class="value-description">The element is exposed to the accessibility <abbr title="application programming interface">API</abbr> as if it was rendered.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">The element is hidden from the accessibility <abbr title="application programming interface">API</abbr>.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">undefined (default)</strong></th> <td class="value-description">The element's hidden state is determined by the user agent based on whether it is rendered.</td> </tr> </tbody> </table> </section> <section class="state notoc" id="aria-invalid"> <h4><span class="state-name" title="aria-invalid" aria-describedby="desc-aria-invalid"><code>aria-invalid</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-invalid" role="definition"> <p>Indicates the entered value does not conform to the format expected by the application. See related <a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a>.</p> <p>If the value is computed to be invalid or out-of-range, the application author <em class="rfc2119">SHOULD</em> set this <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-37">attribute</a> to <code>true</code>. <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-44">User agents</a> <em class="rfc2119">SHOULD</em> inform the user of the error. Application authors <em class="rfc2119">SHOULD</em> provide suggestions for corrections if they are known.</p> <p>When the user attempts to submit data involving a field for which <a href="#aria-required" class="property-reference"><code>aria-required</code></a> is <code>true</code>, authors <em class="rfc2119">MAY</em> use the <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> attribute to signal there is an error. However, if the user has not attempted to submit the form, authors <em class="rfc2119">SHOULD NOT</em> set the <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> attribute on required <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-25">widgets</a> simply because the user has not yet entered data.</p> <p>For future expansion, the <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> attribute is a token type. Any value not recognized in the list of allowed <span>values</span> <em class="rfc2119">MUST</em> be treated by user agents as if the value <code>true</code> had been provided. If the attribute is not present, or its value is <code>false</code>, or its value is an empty string, the default value of <code>false</code> applies.</p> <div class="note" role="note" id="issue-container-generatedID-61"><div role="heading" class="note-title marker" id="h-note-61" aria-level="4"><span>Note</span></div><p class="">This state is being deprecated as a global state in ARIA 1.2. In future versions it will only be allowed on roles where it is specifically supported.</p></div> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability"><ul> <li><a href="#application" class="role-reference"><code>application</code></a></li> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> </ul> </td> </tr> <tr> <th class="state-descendants-head" scope="row">Inherits into Roles:</th> <td class="state-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="state-value"><a href="#valuetype_token">token</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">grammar</th> <td class="value-description">A grammatical error was detected.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">There are no detected errors in the value.</td> </tr> <tr> <th class="value-name" scope="row">spelling</th> <td class="value-description">A spelling error was detected.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">The value entered by the user has failed validation.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-keyshortcuts"> <h4><span class="property-name" title="aria-keyshortcuts" aria-describedby="desc-aria-keyshortcuts"><code>aria-keyshortcuts</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-keyshortcuts" role="definition"> <p>Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.</p> <p>The value of the <code>aria-keyshortcuts</code> attribute is a space-separated list of keyboard shortcuts that can be pressed to activate a command or textbox widget. The keys defined in the shortcuts represent the physical keys pressed and not the actual characters generated. Each keyboard shortcut consists of one or more tokens delimited by the plus sign ("+") representing zero or more modifier keys and exactly one non-modifier key that must be pressed simultaneously to activate the given shortcut.</p> <p>Authors <em class="rfc2119">MUST</em> specify modifier keys exactly according to the <a href="https://www.w3.org/TR/uievents-key/"><abbr title="User Interface">UI</abbr> Events KeyboardEvent key Values</a> spec [<cite><a class="bibref" data-link-type="biblio" href="#bib-uievents-key" title="UI Events KeyboardEvent key Values">uievents-key</a></cite>] - for example, "Alt", "Control", "Shift", "Meta", or "AltGraph". Note that Meta corresponds to the Command key, and Alt to the Option key, on Apple computers.</p> <p>The valid names for non-modifier keys are any printable character such as "A", "B", "1", "2", "$", "Plus" for a plus sign, "Space" for the spacebar, or the names of any other non-modifier key specified in the <a href="https://www.w3.org/TR/uievents-key/"><abbr title="User Interface">UI</abbr> Events KeyboardEvent key Values</a> spec [<cite><a class="bibref" data-link-type="biblio" href="#bib-uievents-key" title="UI Events KeyboardEvent key Values">uievents-key</a></cite>] - for example, "Enter", "Tab", "ArrowRight", "PageDown", "Escape", or "F1". The use of "Space" for the spacebar is an exception to the <a href="https://www.w3.org/TR/uievents-key/"><abbr title="User Interface">UI</abbr> Events KeyboardEvent key Values</a> spec [<cite><a class="bibref" data-link-type="biblio" href="#bib-uievents-key" title="UI Events KeyboardEvent key Values">uievents-key</a></cite>] as the space or spacebar key is encoded as <code>' '</code> and would be treated as a whitespace character.</p> <p>Authors <em class="rfc2119">MUST</em> ensure modifier keys come first when they are part of a keyboard shortcut. Authors <em class="rfc2119">MUST</em> ensure that required non-modifier keys come last when they are part of a shortcut. The order of the modifier keys is not otherwise significant, so "Alt+Shift+T" and "Shift+Alt+T" are equivalent, but "T+Shift+Alt" is not valid because all of the modifier keys don't come first, and "Alt" is not valid because it doesn't include at least one non-modifier key.</p> <p>When specifying an alphabetic key, both the uppercase and lowercase variants are considered equivalent: "a" and "A" are the same.</p> <p>When implementing keyboard shortcuts authors should consider the keyboards they intend to support to avoid unintended results. Keyboard designs vary significantly based on the device used and the languages supported. For example, many modifier keys are used in conjunction with other keys to create common punctuation symbols, create number characters, swap keyboard sides on bilingual keyboards to switch languages, and perform a number of other functions.</p> <p>For many supported keyboards, authors can prevent conflicts by avoiding keys other than ASCII letters, as number characters and common punctuation often require modifiers. Here, the keyboard shortcut entered does not equate to the key generated. For example, in French keyboard layouts, the number characters are not available until you press the Control key, so a keyboard shortcut defined as "Control+2" would be ambiguous as this is how one would type the "2" character on a French keyboard.</p> <p>If the character used is determined by a modifier key, the author <em class="rfc2119">MUST</em> specify the actual key used to generate the character, that is generated by the key, and not the resulting character. This convention enables the assistive technology to accurately convey what keys must be used to generate the shortcut. For example, on most U.S. English keyboards, the percent sign "%" can be input by pressing Shift+5. The correct way to specify this shortcut is "Shift+5". It is incorrect to specify "%" or "Shift+%". However, note that on some international keyboards the percent sign may be an unmodified key, in which case "%" and "Shift+%" could be correct on those keyboards.</p> <p>If the key that needs to be specified is illegal in the host language or would cause a string to be terminated, authors <em class="rfc2119">MUST</em> use the string escaping sequence of the host language to specify it. For example, the double-quote character can be encoded as "Shift+&#39;" in <abbr title="Hypertext Markup Language">HTML</abbr>.</p> <p>Examples of valid keyboard shortcuts include:</p> <ul> <li>"A"</li> <li>"Shift+Space"</li> <li>"Control+Alt+."</li> <li>"Control+Shift+&#39;"</li> <li>"Alt+Shift+P Control+F"</li> <li>"Meta+C Meta+Shift+C"</li> </ul> <p>User agents <em class="rfc2119">MUST NOT</em> change keyboard behavior in response to the <code>aria-keyshortcuts</code> attribute. Authors <em class="rfc2119">MUST</em> handle scripted keyboard events to process <code>aria-keyshortcuts</code>. The <code>aria-keyshortcuts</code> attribute exposes the existence of these shortcuts so that assistive technologies can communicate this information to users.</p> <p>Authors <em class="rfc2119">SHOULD</em> provide a way to expose keyboard shortcuts so that all users may discover them, such as through the use of a tooltip. Authors <em class="rfc2119">MUST</em> ensure that <code>aria-keyshortcuts</code> applied to disabled elements are unavailable.</p> <p>Authors <em class="rfc2119">SHOULD</em> avoid implementing shortcut keys that inhibit operating system, user agent, or assistive technology functionality. This requires the author to carefully consider both which keys to assign and the contexts and conditions in which the keys are available to the user. For guidance, see the keyboard shortcuts section of the <cite><a href="https://www.w3.org/WAI/ARIA/apg/" class="practices"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices</a></cite>.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><a href="https://en.wikipedia.org/wiki/Keyboard_shortcut">Keyboard shortcut</a></td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_string">string</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-label"> <h4><span class="property-name" title="aria-label" aria-describedby="desc-aria-label"><code>aria-label</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-label" role="definition"> <p>Defines a string value that labels the current element. See related <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a>.</p> <p>The purpose of <a href="#aria-label" class="property-reference"><code>aria-label</code></a> is the same as that of <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a>. It provides the user with a recognizable name of the object. The most common <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-29">accessibility <abbr title="Application Programing Interfaces">API</abbr></a> mapping for a label is the <a href="#dfn-accessible-name" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessible-name-2">accessible name</a> property.</p> <p>If the label text is available in the <abbr title="Document Object Model">DOM</abbr> (i.e. typically visible text content), authors <em class="rfc2119">SHOULD</em> use <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> and <em class="rfc2119">SHOULD NOT</em> use <a href="#aria-label" class="property-reference"><code>aria-label</code></a>. There may be instances where the name of an element cannot be determined programmatically from the <abbr title="Document Object Model">DOM</abbr>, and there are cases where referencing <abbr title="Document Object Model">DOM</abbr> content is not the desired user experience. Most host languages provide an attribute that could be used to name the element (e.g., the <code>title</code> attribute in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]), yet this could present a browser tooltip. In the cases where <abbr title="Document Object Model">DOM</abbr> content or a tooltip is undesirable, authors <em class="rfc2119">MAY</em> set the accessible name of the element using <a href="#aria-label" class="property-reference"><code>aria-label</code></a>. As required by the <a href="#textalternativecomputation">accessible name and description computation</a>, user agents give precedence to <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> over <a href="#aria-label" class="property-reference"><code>aria-label</code></a> when computing the accessible name property.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><code>title</code> attribute in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup except for the following roles: <a href="#caption" class="role-reference"><code>caption</code></a>, <a href="#code" class="role-reference"><code>code</code></a>, <a href="#deletion" class="role-reference"><code>deletion</code></a>, <a href="#emphasis" class="role-reference"><code>emphasis</code></a>, <a href="#generic" class="role-reference"><code>generic</code></a>, <a href="#insertion" class="role-reference"><code>insertion</code></a>, <a href="#paragraph" class="role-reference"><code>paragraph</code></a>, <a href="#presentation" class="role-reference"><code>presentation</code></a>, <a href="#strong" class="role-reference"><code>strong</code></a>, <a href="#subscript" class="role-reference"><code>subscript</code></a>, <a href="#superscript" class="role-reference"><code>superscript</code></a></td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_string">string</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-labelledby"> <h4><span class="property-name" title="aria-labelledby" aria-describedby="desc-aria-labelledby"><code>aria-labelledby</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-labelledby" role="definition"> <p>Identifies the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-91">element</a> (or elements) that labels the current element. See related <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a>.</p> <p>The purpose of <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> is the same as that of <a href="#aria-label" class="property-reference"><code>aria-label</code></a>. It provides the user with a recognizable name of the object. The most common <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-30">accessibility <abbr title="Application Programing Interfaces">API</abbr></a> mapping for a label is the <a href="#dfn-accessible-name" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessible-name-3">accessible name</a> property.</p> <p>If the interface is such that it is not possible to have a visible label on the screen, authors <em class="rfc2119">SHOULD</em> use <a href="#aria-label" class="property-reference"><code>aria-label</code></a> and <em class="rfc2119">SHOULD NOT</em> use <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a>. As required by the <a href="#textalternativecomputation">accessible name and description computation</a>, user agents give precedence to <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> over <a href="#aria-label" class="property-reference"><code>aria-label</code></a> when computing the accessible name property.</p> <p>The <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> attribute is similar to <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> in that both reference other elements to calculate a text alternative, but a label should be concise, where a description is intended to provide more verbose information.</p> <div class="note" role="note" id="issue-container-generatedID-62"><div role="heading" class="note-title marker" id="h-note-62" aria-level="4"><span>Note</span></div><p class="">The expected spelling of this property in <abbr title="United States">U.S.</abbr> English is "labeledby." However, the <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-31">accessibility <abbr title="Application Programing Interfaces">API</abbr></a> features to which this property is mapped have established the "labelledby" spelling. This property is spelled that way to match the convention and minimize the difficulty for developers.</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><code><label></code> in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup except for the following roles: <a href="#caption" class="role-reference"><code>caption</code></a>, <a href="#code" class="role-reference"><code>code</code></a>, <a href="#deletion" class="role-reference"><code>deletion</code></a>, <a href="#emphasis" class="role-reference"><code>emphasis</code></a>, <a href="#generic" class="role-reference"><code>generic</code></a>, <a href="#insertion" class="role-reference"><code>insertion</code></a>, <a href="#paragraph" class="role-reference"><code>paragraph</code></a>, <a href="#presentation" class="role-reference"><code>presentation</code></a>, <a href="#strong" class="role-reference"><code>strong</code></a>, <a href="#subscript" class="role-reference"><code>subscript</code></a>, <a href="#superscript" class="role-reference"><code>superscript</code></a></td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_idref_list">ID reference list</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-level"> <h4><span class="property-name" title="aria-level" aria-describedby="desc-aria-level"><code>aria-level</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-level" role="definition"> <p>Defines the hierarchical level of an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-92">element</a> within a structure.</p> <p>This can be applied inside trees to tree items, to headings inside a document, to nested grids, nested tablists and to other structural items that may appear inside a container or participate in an ownership hierarchy. The value for <a href="#aria-level" class="property-reference"><code>aria-level</code></a> is an integer greater than or equal to 1.</p> <p>Levels increase with depth. If the <abbr title="Document Object Model">DOM</abbr> ancestry does not accurately represent the level, authors <em class="rfc2119">SHOULD</em> explicitly define the <a href="#aria-level" class="property-reference"><code>aria-level</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-38">attribute</a>.</p> <p>This attribute is applied to elements that act as leaf nodes within the orientation of the set, for example, on elements with role <a href="#treeitem" class="role-reference"><code>treeitem</code></a> rather than elements with role <a href="#group" class="role-reference"><code>group</code></a>. This means that multiple elements in a set may have the same value for this attribute. Although it would be less repetitive to provide a single value on the container, restricting this to leaf nodes ensures that there is a single way for <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-54">assistive technologies</a> to use the attribute.</p> <p>If the <abbr title="Document Object Model">DOM</abbr> ancestry accurately represents the level, the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-45">user agent</a> can calculate the level of an item from the document structure. This attribute can be used to provide an explicit indication of the level when that is not possible to calculate from the document structure or the <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> attribute. User agent support for automatic calculation of level may vary; authors <em class="rfc2119">SHOULD</em> test with <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-46">user agents</a> and assistive technologies to determine whether this attribute is needed. If the author intends for the user agent to calculate the level, the author <em class="rfc2119">SHOULD</em> omit this attribute.</p> <div class="note" role="note" id="issue-container-generatedID-63"><div role="heading" class="note-title marker" id="h-note-63" aria-level="4"><span>Note</span></div><p class=""> In the case of a <a href="#treegrid" class="role-reference"><code>treegrid</code></a>, <a href="#aria-level" class="property-reference"><code>aria-level</code></a> is supported on elements with the role <a href="#row" class="role-reference"><code>row</code></a>, not elements with role <a href="#gridcell" class="role-reference"><code>gridcell</code></a>. At first glance, this may seem inconsistent with the application of <a href="#aria-level" class="property-reference"><code>aria-level</code></a> on <a href="#treeitem" class="role-reference"><code>treeitem</code></a> elements, but it is consistent in that the <a href="#row" class="role-reference"><code>row</code></a> acts as the leaf node within the vertical orientation of the <a href="#grid" class="role-reference"><code>grid</code></a>, whereas the <a href="#gridcell" class="role-reference"><code>gridcell</code></a> is a leaf node within the horizontal orientation of each <a href="#row" class="role-reference"><code>row</code></a>. Level is not supported on sets of cells within rows, so the <a href="#aria-level" class="property-reference"><code>aria-level</code></a> attribute is applied to the element with the role <a href="#row" class="role-reference"><code>row</code></a>.</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#heading" class="role-reference"><code>heading</code></a></li> <li><a href="#listitem" class="role-reference"><code>listitem</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_integer">integer</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-live"> <h4><span class="property-name" title="aria-live" aria-describedby="desc-aria-live"><code>aria-live</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-live" role="definition"> <p>Indicates that an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-93">element</a> will be updated, and describes the types of updates the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-47">user agents</a>, <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-55">assistive technologies</a>, and user can expect from the <a href="#dfn-live-region" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-live-region-12">live region</a>.</p> <p>The <span>values</span> of this <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-39">attribute</a> are expressed in degrees of importance. When regions are specified as <code>polite</code>, assistive technologies will notify users of updates but generally do not interrupt the current task, and updates take low priority. When regions are specified as <code>assertive</code>, assistive technologies will immediately notify the user, and could potentially clear the speech queue of previous updates.</p> <p>Politeness levels are essentially an ordering mechanism for updates and serve as a strong suggestion to user agents or assistive technologies. The value may be overridden by user agents, assistive technologies, or the user. For example, if assistive technologies can determine that a change occurred in response to a key press or a mouse click, the assistive technologies may present that change immediately even if the value of the <a href="#aria-live" class="property-reference"><code>aria-live</code></a> attribute states otherwise.</p> <p>Since different users have different needs, it is up to the user to tweak his or her assistive technologies' response to a live region with a certain politeness level from the commonly defined baseline. Assistive technologies may choose to implement increasing and decreasing levels of granularity so that the user can exercise control over queues and interruptions.</p> <p>When the <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-24">property</a> is not set on an <a href="#dfn-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-object-26">object</a> that needs to send updates, the politeness level is the value of the nearest ancestor that sets the <a href="#aria-live" class="property-reference"><code>aria-live</code></a> attribute.</p> <p>The <a href="#aria-live" class="property-reference"><code>aria-live</code></a> attribute is the primary determination for the order of presentation of changes to live regions. Implementations will also consider the default level of politeness in a <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-84">role</a> when the <a href="#aria-live" class="property-reference"><code>aria-live</code></a> attribute is not set in the ancestor chain (e.g., <a href="#log" class="role-reference"><code>log</code></a> changes are <code>polite</code> by default). Items which are <code>assertive</code> will be presented immediately, followed by <code>polite</code> items. User agents or assistive technologies <em class="rfc2119">MAY</em> choose to clear queued changes when an assertive change occurs. (e.g., changes in an assertive region may remove all currently queued changes)</p> <p>When live regions are marked as <code>polite</code>, assistive technologies <em class="rfc2119">SHOULD</em> announce updates at the next graceful opportunity, such as at the end of speaking the current sentence or when the user pauses typing. When live regions are marked as <code>assertive</code>, assistive technologies <em class="rfc2119">SHOULD</em> notify the user immediately. Because an interruption may disorient users or cause them to not complete their current task, authors <em class="rfc2119">SHOULD NOT</em> use the assertive value unless the interruption is imperative.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_token">token</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">assertive</th> <td class="value-description">Indicates that updates to the region have the highest priority and should be presented the user immediately.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">off (default)</strong></th> <td class="value-description">Indicates that updates to the region should not be presented to the user unless the user is currently focused on that region.</td> </tr> <tr> <th class="value-name" scope="row">polite</th> <td class="value-description">Indicates that updates to the region should be presented at the next graceful opportunity, such as at the end of speaking the current sentence or when the user pauses typing.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-modal"> <h4><span class="property-name" title="aria-modal" aria-describedby="desc-aria-modal"><code>aria-modal</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-modal" role="definition"> <p>Indicates whether an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-94">element</a> is modal when displayed.</p> <p>The <a href="#aria-modal" class="property-reference"><code>aria-modal</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-40">attribute</a> is used to indicate that the presence of a "modal" element precludes usage of other content on the page. For example, when a modal dialog is displayed, it is expected that the user's interaction is limited to the contents of the dialog, until the modal dialog loses focus or is no longer displayed.</p> <p>When a modal element is displayed, assistive technologies <em class="rfc2119">SHOULD</em> navigate to the element unless focus has explicitly been set elsewhere. Assistive technologies <em class="rfc2119">MAY</em> limit navigation to the modal element's contents. If focus moves to an element outside the modal element, assistive technologies <em class="rfc2119">SHOULD NOT</em> limit navigation to the modal element.</p> <p>When a modal element is displayed, authors <em class="rfc2119">MUST</em> ensure the interface can be controlled using only descendants of the modal element. In other words, if a modal dialog has a close button, the button should be a descendant of the dialog. When a modal element is displayed, authors <em class="rfc2119">SHOULD</em> mark all other contents as inert (such as "inert subtrees" in <abbr title="Hypertext Markup Language">HTML</abbr>) if the ability to do so exists in the host language.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#window" class="role-reference"><code>window</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#alertdialog" class="role-reference"><code>alertdialog</code></a></li> <li><a href="#dialog" class="role-reference"><code>dialog</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_true-false">true/false</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">Element is not modal.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">Element is modal.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-multiline"> <h4><span class="property-name" title="aria-multiline" aria-describedby="desc-aria-multiline"><code>aria-multiline</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-multiline" role="definition"> <p>Indicates whether a text box accepts multiple lines of input or only a single line.</p> <div class="note" role="note" id="issue-container-generatedID-64"><div role="heading" class="note-title marker" id="h-note-64" aria-level="4"><span>Note</span></div><p class="">In most user agent implementations, the default behavior of the <kbd>ENTER</kbd> or <kbd>RETURN</kbd> key is different between the single-line and multi-line text fields in <abbr title="Hypertext Markup Language">HTML</abbr>. When user has focus in a single-line <code><input type="text"></code> element, the keystroke usually submits the form. When user has focus in a multi-line <code><textarea></code> element, the keystroke inserts a line break. The <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <code>textbox</code> role differentiates these types of boxes with the <a href="#aria-multiline" class="property-reference"><code>aria-multiline</code></a> attribute, so authors are advised to be aware of this distinction when designing the field.</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_true-false">true/false</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">This is a single-line text box.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">This is a multi-line text box.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-multiselectable"> <h4><span class="property-name" title="aria-multiselectable" aria-describedby="desc-aria-multiselectable"><code>aria-multiselectable</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-multiselectable" role="definition"> <p>Indicates that the user may select more than one item from the current selectable descendants.</p> <p>Authors <em class="rfc2119">SHOULD</em> ensure that selected descendants have the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-41">attribute</a> set to <code>true</code>, and selectable descendant have the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> attribute set to <code>false</code>. Authors <em class="rfc2119">SHOULD NOT</em> use the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> attribute on descendants that are not selectable.</p> <div class="note" role="note" id="issue-container-generatedID-65"><div role="heading" class="note-title marker" id="h-note-65" aria-level="4"><span>Note</span></div><p class="">Lists and trees are examples of roles that might allow users to select more than one item at a time.</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#tablist" class="role-reference"><code>tablist</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_true-false">true/false</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">Only one item can be selected.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">More than one item in the widget may be selected at a time.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-orientation"> <h4><span class="property-name" title="aria-orientation" aria-describedby="desc-aria-orientation"><code>aria-orientation</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-orientation" role="definition"> <p>Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.</p> <div class="note" role="note" id="issue-container-generatedID-66"><div role="heading" class="note-title marker" id="h-note-66" aria-level="4"><span>Note</span></div><p class="">In ARIA 1.1, the default value for <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> changed from <code>horizontal</code> to <code>undefined</code>. Implicit defaults are defined on some roles (e.g., <a href="#slider" class="role-reference"><code>slider</code></a> defaults to horizontal; <a href="#scrollbar" class="role-reference"><code>scrollbar</code></a> defaults to vertical) but remain undefined on roles where an expected default orientation is ambiguous (e.g., <a href="#radiogroup" class="role-reference"><code>radiogroup</code></a>).</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#select" class="role-reference"><code>select</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#tablist" class="role-reference"><code>tablist</code></a></li> <li><a href="#toolbar" class="role-reference"><code>toolbar</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#menu" class="role-reference"><code>menu</code></a></li> <li><a href="#menubar" class="role-reference"><code>menubar</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_token">token</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">horizontal</th> <td class="value-description">The element is oriented horizontally.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">undefined (default)</strong></th> <td class="value-description">The element's orientation is unknown/ambiguous.</td> </tr> <tr> <th class="value-name" scope="row">vertical</th> <td class="value-description">The element is oriented vertically.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-owns"> <h4><span class="property-name" title="aria-owns" aria-describedby="desc-aria-owns"><code>aria-owns</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-owns" role="definition"> <p>Identifies an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-95">element</a> (or elements) in order to define a visual, functional, or contextual parent/child <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-13">relationship</a> between <abbr title="Document Object Model">DOM</abbr> elements where the <abbr title="Document Object Model">DOM</abbr> hierarchy cannot be used to represent the relationship. See related <a href="#aria-controls" class="property-reference"><code>aria-controls</code></a>.</p> <p>The value of the <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-42">attribute</a> is a space-separated ID reference list that references one or more elements in the document by ID. The reason for adding <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> is to expose a parent/child contextual relationship to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-56">assistive technologies</a> that is otherwise impossible to infer from the <abbr title="Document Object Model">DOM</abbr>.</p> <p>If an element has both <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> and <abbr title="Document Object Model">DOM</abbr> children then the order of the child elements with respect to the parent/child relationship is the <abbr title="Document Object Model">DOM</abbr> children first, then the elements referenced in <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a>. If the author intends that the <abbr title="Document Object Model">DOM</abbr> children are not first, then list the <abbr title="Document Object Model">DOM</abbr> children in <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> in the desired order. Authors <em class="rfc2119">SHOULD NOT</em> use <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> as a replacement for the <abbr title="Document Object Model">DOM</abbr> hierarchy. If the relationship is represented in the <abbr title="Document Object Model">DOM</abbr>, do not use <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a>. Authors <em class="rfc2119">MUST</em> ensure that an element's ID is not specified in more than one other element's <a href="#aria-owns" class="property-reference"><code>aria-owns</code></a> attribute at any time. In other words, an element can have only one explicit owner.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_idref_list">ID reference list</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-placeholder"> <h4><span class="property-name" title="aria-placeholder" aria-describedby="desc-aria-placeholder"><code>aria-placeholder</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-placeholder" role="definition"> <p>Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.</p> <p>Authors <em class="rfc2119">SHOULD NOT</em> use <a href="#aria-placeholder" class="property-reference"><code>aria-placeholder</code></a> instead of a label as their purposes are different: The label indicates what kind of information is expected. The placeholder text is a hint about the expected value. See related <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a> and <a href="#aria-label" class="property-reference"><code>aria-label</code></a>.</p> <p>Authors <em class="rfc2119">SHOULD</em> present this hint to the user by displaying the hint text at any time the control's <span>value</span> is the empty string. This includes cases where the control first receives focus, and when users remove a previously-entered value.</p> <div class="note" role="note" id="issue-container-generatedID-67"><div role="heading" class="note-title marker" id="h-note-67" aria-level="4"><span>Note</span></div><p class="">As is the case with the related <code>placeholder</code> attribute in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>], use of placeholder text as a replacement for a displayed label can reduce the accessibility and usability of the control for a range of users including older users and users with cognitive, mobility, fine motor skill or vision impairments. While the hint given by the control's label is shown at all times, the short hint given in the placeholder attribute is only shown before the user enters a value. Furthermore, placeholder text may be mistaken for a pre-filled value, and as commonly implemented the default color of the placeholder text provides insufficient contrast and the lack of a separate visible label reduces the size of the hit region available for setting focus on the control.</p></div> <div class="note" role="note" id="issue-container-generatedID-68"><div role="heading" class="note-title marker" id="h-note-68" aria-level="4"><span>Note</span></div><p class="">The following examples do not use the <abbr title="Hypertext Markup Language">HTML</abbr> <code>label</code> element as it cannot be used to label <abbr title="Hypertext Markup Language">HTML</abbr> elements with <code>contenteditable</code>.</p></div> <p>The following example shows a <a href="#searchbox" class="role-reference"><code>searchbox</code></a> in which the user has entered a value:</p> <div class="example" id="example-24"> <div class="marker"> <a class="self-link" href="#example-24">Example<bdi> 24</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"label"</span>></span>Birthday:<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">contenteditable</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"searchbox"</span> <span class="hljs-attr">aria-labelledby</span>=<span class="hljs-string">"label"</span> <span class="hljs-attr">aria-placeholder</span>=<span class="hljs-string">"MM-DD-YYYY"</span>></span>03-14-1879<span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> <p>The following example shows the same <a href="#searchbox" class="role-reference"><code>searchbox</code></a> in which the user has not yet entered a value or has removed a previously-entered value:</p> <div class="example" id="example-25"> <div class="marker"> <a class="self-link" href="#example-25">Example<bdi> 25</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"label"</span>></span>Birthday:<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">contenteditable</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"searchbox"</span> <span class="hljs-attr">aria-labelledby</span>=<span class="hljs-string">"label"</span> <span class="hljs-attr">aria-placeholder</span>=<span class="hljs-string">"MM-DD-YYYY"</span>></span>MM-DD-YYYY<span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><code>placeholder</code> attribute in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_string">string</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-posinset"> <h4><span class="property-name" title="aria-posinset" aria-describedby="desc-aria-posinset"><code>aria-posinset</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-posinset" role="definition"> <p>Defines an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-96">element</a>'s number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the <abbr title="Document Object Model">DOM</abbr>. See related <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a>.</p> <p>If all items in a set are present in the document structure, it is not necessary to set this <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-43">attribute</a>, as the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-48">user agent</a> can automatically calculate the set size and position for each item. However, if only a portion of the set is present in the document structure at a given moment, this <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-25">property</a> is needed to provide an explicit indication of an element's position.</p> <p>The following example shows items 5 through 8 in a set of 16.</p> <div class="example" id="example-26"> <div class="marker"> <a class="self-link" href="#example-26">Example<bdi> 26</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">h2</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"label_fruit"</span>></span> Available Fruit <span class="hljs-tag"></<span class="hljs-name">h2</span>></span> <span class="hljs-tag"><<span class="hljs-name">ul</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"listbox"</span> <span class="hljs-attr">aria-labelledby</span>=<span class="hljs-string">"label_fruit"</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"16"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"5"</span>></span> apples <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"16"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"6"</span>></span> bananas <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"16"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"7"</span>></span> cantaloupes <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"16"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"8"</span>></span> dates <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"></<span class="hljs-name">ul</span>></span></code></pre> </div> <p>Authors <em class="rfc2119">MUST</em> set the value for <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a> to an integer greater than or equal to 1, and less than or equal to the size of the set when that size is known. Authors <em class="rfc2119">SHOULD</em> use <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a>.</p> <p>When exposing <code>aria-posinset</code> on a <a href="#menuitem" class="role-reference"><code>menuitem</code></a>, <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a>, or <a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a>, authors <em class="rfc2119">SHOULD</em> set the value of <code>aria-posinset</code> with respect to the total number of items in the <a href="#menu" class="role-reference"><code>menu</code></a>, excluding any separators.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#article" class="role-reference"><code>article</code></a></li> <li><a href="#listitem" class="role-reference"><code>listitem</code></a></li> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> <li><a href="#radio" class="role-reference"><code>radio</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_integer">integer</a></td> </tr> </tbody> </table> </section> <section class="state notoc" id="aria-pressed"> <h4><span class="state-name" title="aria-pressed" aria-describedby="desc-aria-pressed"><code>aria-pressed</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-pressed" role="definition"> <p>Indicates the current "pressed" <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-30">state</a> of toggle buttons. See related <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> and <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a>.</p> <p>Toggle buttons require a full press-and-release cycle to change their value. Activating it once changes the value to <code>true</code>, and activating it another time changes the value back to <code>false</code>. A value of <code>mixed</code> means that the values of more than one item controlled by the button do not all share the same value. If the <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-44">attribute</a> is not present, the button is not a toggle button.</p> <p>The <a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a> attribute is similar but not identical to the <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> attribute. Operating systems support <code>pressed</code> on buttons and <code>checked</code> on checkboxes.</p> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability"><ul> <li><a href="#button" class="role-reference"><code>button</code></a></li> </ul> </td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="state-value"><a href="#valuetype_tristate">tristate</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">false</th> <td class="value-description">The element supports being pressed but is not currently pressed.</td> </tr> <tr> <th class="value-name" scope="row">mixed</th> <td class="value-description">Indicates a mixed mode value for a tri-state toggle button.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">The element is pressed.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">undefined (default)</strong></th> <td class="value-description">The element does not support being pressed.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-readonly"> <h4><span class="property-name" title="aria-readonly" aria-describedby="desc-aria-readonly"><code>aria-readonly</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-readonly" role="definition"> <p> Indicates that the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-97">element</a> is not editable, but is otherwise <a href="#dfn-operable" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-operable-5">operable</a>. See related <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a>.</p> <p>This means the user can read but not set the value of the <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-26">widget</a>. Readonly elements are relevant to the user, and application authors <em class="rfc2119">SHOULD NOT</em> restrict navigation to the element or its focusable descendants. Other actions such as copying the value of the element are also supported. This is in contrast to disabled elements, to which applications might not allow user navigation to descendants.</p> <p>Examples include:</p> <ul> <li>A form element which represents a constant.</li> <li>Row or column headers in a spreadsheet grid.</li> <li>The result of a calculation such as a shopping cart total.</li> </ul> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><code>readonly</code> attribute in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_true-false">true/false</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">The user can set the value of the element.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">The user cannot change the value of the element.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-relevant"> <h4><span class="property-name" title="aria-relevant" aria-describedby="desc-aria-relevant"><code>aria-relevant</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-relevant" role="definition"> <p>Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. See related <a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a>.</p> <p>The <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-45">attribute</a> is represented as a space-separated list of the following <span>values</span>: <code>additions</code>, <code>removals</code>, <code>text</code>; or a single catch-all value <code>all</code>.</p> <p>This is used to describe <a href="#dfn-semantics" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-semantics-6">semantically</a> meaningful changes, as opposed to merely presentational ones. For example, nodes that are removed from the top of a log are merely removed for purposes of creating room for other entries, and the removal of them does not have meaning. However, in the case of a buddy list, removal of a buddy name indicates that they are no longer online, and this is a meaningful <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-10">event</a>. In that case <a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a> will be set to <code>all</code>. When the <a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a> attribute is not provided, the default value, <code>additions text</code>, indicates that text modifications and node additions are relevant, but that node removals are irrelevant.</p> <div class="note" role="note" id="issue-container-generatedID-69"><div role="heading" class="note-title marker" id="h-note-69" aria-level="4"><span>Note</span></div><p class=""><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a> values of removals or all are to be used sparingly. Assistive technologies only need to be informed of content removal when its removal represents an important change, such as a buddy leaving a chat room.</p></div> <div class="note" role="note" id="issue-container-generatedID-70"><div role="heading" class="note-title marker" id="h-note-70" aria-level="4"><span>Note</span></div><p class="">Text removals should only be considered relevant if one of the specified values is 'removals' or 'all'. For example, for a text change from 'foo' to 'bar' in a live region with a default <a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a> value, the text addition ('bar') would be spoken, but the text removal ('foo') would not.</p></div> <p><a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a> is an optional attribute of live regions. This is a suggestion to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-57">assistive technologies</a>, but assistive technologies are not required to present changes of all the relevant types.</p> <p>When <a href="#aria-relevant" class="property-reference"><code>aria-relevant</code></a> is not defined, an element's value is inherited from the nearest ancestor with a defined value. Although the value is a <a href="#valuetype_token_list">token list</a>, inherited values are not additive; the value provided on a descendant element completely overrides any inherited value from an ancestor element.</p> <p>When text changes are denoted as relevant, user agents <em class="rfc2119">MUST</em> monitor any descendant node change that affects the <a href="#textalternativecomputation">accessible name and description computation</a> of the live region as if the accessible name were determined from contents (<a href="#namecalculation">nameFrom: contents</a>). For example, a text change would be triggered if the <abbr title="Hypertext Markup Language">HTML</abbr> <code>alt</code> attribute of a contained image changed. However, no change would be triggered if there was a text change to a node outside the live region, even if that node was referenced (via <a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a>) by an element contained in the live region.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_token_list">token list</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">additions</th> <td class="value-description">Element nodes are added to the accessibility tree within the live region.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">additions text (default)</strong></th> <td class="value-description">Equivalent to the combination of values, "additions text".</td> </tr> <tr> <th class="value-name" scope="row">all</th> <td class="value-description">Equivalent to the combination of all values, "additions removals text".</td> </tr> <tr> <th class="value-name" scope="row">removals</th> <td class="value-description">Text content, a text alternative, or an element node within the live region is removed from the accessibility tree.</td> </tr> <tr> <th class="value-name" scope="row">text</th> <td class="value-description">Text content or a text alternative is added to any descendant in the accessibility tree of the live region.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-required"> <h4><span class="property-name" title="aria-required" aria-describedby="desc-aria-required"><code>aria-required</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-required" role="definition"> <p>Indicates that user input is required on the <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-98">element</a> before a form may be submitted.</p> <p>For example, if the user needs to fill in an address field, the author will need to set the field's <a href="#aria-required" class="property-reference"><code>aria-required</code></a> attribute to <code>true</code>.</p> <div class="note" role="note" id="issue-container-generatedID-71"><div role="heading" class="note-title marker" id="h-note-71" aria-level="4"><span>Note</span></div><p class="">The fact that the element is required is often presented visually (such as a sign or symbol after the <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-27">widget</a>). Using the <a href="#aria-required" class="property-reference"><code>aria-required</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-46">attribute</a> allows the author to explicitly convey to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-58">assistive technologies</a> that an element is required.</p></div> <p>Unless an exactly equivalent native attribute is available, host languages <em class="rfc2119">SHOULD</em> allow authors to use the <a href="#aria-required" class="property-reference"><code>aria-required</code></a> attribute on host language form elements that require input or selection by the user.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><code>required</code> attribute in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#combobox" class="role-reference"><code>combobox</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li><a href="#radiogroup" class="role-reference"><code>radiogroup</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> <li><a href="#textbox" class="role-reference"><code>textbox</code></a></li> <li><a href="#tree" class="role-reference"><code>tree</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#searchbox" class="role-reference"><code>searchbox</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_true-false">true/false</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row"><strong class="default">false (default)</strong></th> <td class="value-description">User input is not necessary to submit the form.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">Users need to provide input on an element before a form is submitted.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-roledescription"> <h4><span class="property-name" title="aria-roledescription" aria-describedby="desc-aria-roledescription"><code>aria-roledescription</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-roledescription" role="definition"> <p>Defines a human-readable, author-localized description for the <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-85">role</a> of an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-99">element</a>.</p> <p>Some <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-59">assistive technologies</a>, such as screen readers, present the role of an element as part of the user experience. Such assistive technologies typically localize the name of the role, and they may customize it as well. Users of these assistive technologies depend on the presentation of the role name, such as "region," "button," or "slider," for an understanding of the purpose of the element and, if it is a widget, how to interact with it.</p> <p>The <code>aria-roledescription</code> property gives authors the ability to override how assistive technologies localize and express the name of a role. Thus inappropriately using <code>aria-roledescription</code> may inhibit users' ability to understand or interact with an element. Authors <em class="rfc2119">SHOULD</em> limit use of <code>aria-roledescription</code> to clarifying the purpose of non-interactive container roles like <a href="#group" class="role-reference"><code>group</code></a> or <a href="#region" class="role-reference"><code>region</code></a>, or to providing a <em>more specific</em> description of a <a href="#widget" class="role-reference"><code>widget</code></a>.</p> <p> When using <code>aria-roledescription</code>, authors <em class="rfc2119">SHOULD</em> also ensure that:</p> <ol> <li>The element to which <code>aria-roledescription</code> is applied has a valid <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role or has an implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role semantic.</li> <li>The value of <code>aria-roledescription</code> is not empty or does not contain only whitespace characters.</li> </ol> <p>User agents <em class="rfc2119">MUST NOT</em> expose the <code>aria-roledescription</code> property if any of the following conditions exist:</p> <ol> <li>The element to which <code>aria-roledescription</code> is applied does not have a valid <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role or does not have an implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role semantic.</li> <li>The element to which <code>aria-roledescription</code> is applied has an explicit or implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role where <code>aria-roledescription</code> is <a href="#prohibitedattributes">prohibited</a>.</li> <li>The value of <code>aria-roledescription</code> is empty or contains only whitespace characters.</li> </ol> <p><a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-60">Assistive technologies</a> <em class="rfc2119">SHOULD</em> use the value of <code>aria-roledescription</code> when presenting the role of an element, but <em class="rfc2119">SHOULD NOT</em> change other functionality based on the role of an element that has a value for <code>aria-roledescription</code>. For example, an assistive technology that provides functions for navigating to the next <a href="#region" class="role-reference"><code>region</code></a> or <a href="#button" class="role-reference"><code>button</code></a> <em class="rfc2119">SHOULD</em> allow those functions to navigate to regions and buttons that have an <code>aria-roledescription</code>.</p> <p>The following two examples show the use of <code>aria-roledescription</code> to indicate that a non-interactive container is a "slide" in a web-based presentation application.</p> <div class="example" id="example-27"> <div class="marker"> <a class="self-link" href="#example-27">Example<bdi> 27</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"region"</span> <span class="hljs-attr">aria-roledescription</span>=<span class="hljs-string">"slide"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"slide42"</span> <span class="hljs-attr">aria-labelledby</span>=<span class="hljs-string">"slide42heading"</span>></span> <span class="hljs-tag"><<span class="hljs-name">h1</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"slide42heading"</span>></span>Quarterly Report<span class="hljs-tag"></<span class="hljs-name">h1</span>></span> <span class="hljs-comment"><!-- remaining slide contents --></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> <div class="example" id="example-28"> <div class="marker"> <a class="self-link" href="#example-28">Example<bdi> 28</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">section</span> <span class="hljs-attr">aria-roledescription</span>=<span class="hljs-string">"slide"</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"slide42"</span> <span class="hljs-attr">aria-labelledby</span>=<span class="hljs-string">"slide42heading"</span>></span> <span class="hljs-tag"><<span class="hljs-name">h1</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"slide42heading"</span>></span>Quarterly Report<span class="hljs-tag"></<span class="hljs-name">h1</span>></span> <span class="hljs-comment"><!-- remaining slide contents --></span> <span class="hljs-tag"></<span class="hljs-name">section</span>></span></code></pre> </div> <p>In the previous examples, a screen reader user may hear "Quarterly Report, slide" rather than the more vague "Quarterly Report, region" or "Quarterly Report, group."</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability">All elements of the base markup</td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_string">string</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-rowcount"> <h4><span class="property-name" title="aria-rowcount" aria-describedby="desc-aria-rowcount"><code>aria-rowcount</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-rowcount" role="definition"> <p>Defines the total number of rows in a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a>.</p> <p>If all of the rows are present in the <abbr title="Document Object Model">DOM</abbr>, it is not necessary to set this <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-47">attribute</a> as the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-49">user agent</a> can automatically calculate the total number of rows. However, if only a portion of the rows is present in the <abbr title="Document Object Model">DOM</abbr> at a given moment, this attribute is needed to provide an explicit indication of the number of rows in the full table.</p> <p>Authors <em class="rfc2119">MUST</em> set the value of <a href="#aria-rowcount" class="property-reference"><code>aria-rowcount</code></a> to an integer equal to the number of rows in the full table. If the total number of rows is unknown, authors <em class="rfc2119">MUST</em> set the value of <a href="#aria-rowcount" class="property-reference"><code>aria-rowcount</code></a> to <code>-1</code> to indicate that the value should not be calculated by the user agent.</p> <p>The following example shows a grid with 2000 rows, of which the first row and rows 100 through 102 are displayed to the user.</p> <div class="example" id="example-29"> <div class="marker"> <a class="self-link" href="#example-29">Example<bdi> 29</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"grid"</span> <span class="hljs-attr">aria-rowcount</span>=<span class="hljs-string">"2000"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"1"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>First Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>Last Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>Company<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>Phone<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"100"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Fred<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Jackson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>555-1234<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"101"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Sara<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>James<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>555-1235<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"102"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Taylor<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Johnson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>555-1236<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#table" class="role-reference"><code>table</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#grid" class="role-reference"><code>grid</code></a></li> <li><a href="#treegrid" class="role-reference"><code>treegrid</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_integer">integer</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-rowindex"> <h4><span class="property-name" title="aria-rowindex" aria-describedby="desc-aria-rowindex"><code>aria-rowindex</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-rowindex" role="definition"> <p>Defines an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-100">element's</a> row index or position with respect to the total number of rows within a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-rowcount" class="property-reference"><code>aria-rowcount</code></a> and <a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a>.</p> <p>If all of the rows are present in the <abbr title="Document Object Model">DOM</abbr>, it is not necessary to set this <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-48">attribute</a> as the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-50">user agent</a> can automatically calculate the index of each row. However, if only a portion of the rows is present in the <abbr title="Document Object Model">DOM</abbr> at a given moment, this attribute is needed to provide an explicit indication of each row's position with respect to the full table.</p> <p>Authors <em class="rfc2119">MUST</em> set the <span>value</span> for <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a> to an integer greater than or equal to 1, greater than the <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a> value of any previous rows, and less than or equal to the number of rows in the full table. For a cell or gridcell which spans multiple rows, authors <em class="rfc2119">MUST</em> set the value of <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a> to the start of the span.</p> <p>Authors <em class="rfc2119">SHOULD</em> place <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a> on each row. Authors <em class="rfc2119">MAY</em> also place <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a> on all of the children or <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-33">owned elements</a> of each row.</p> <p>The following example shows a grid with 2000 rows, of which the first row and rows 100 through 102 are displayed to the user.</p> <div class="example" id="example-30"> <div class="marker"> <a class="self-link" href="#example-30">Example<bdi> 30</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"grid"</span> <span class="hljs-attr">aria-rowcount</span>=<span class="hljs-string">"2000"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"1"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>First Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>Last Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>Company<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span>></span>Phone<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"100"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Fred<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Jackson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>555-1234<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"101"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Sara<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>James<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>555-1235<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"102"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Taylor<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Johnson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span>></span>555-1236<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> <p>The following example shows the grid from the previous example with <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a> also placed on all of the owned elements of each row.</p> <div class="example" id="example-31"> <div class="marker"> <a class="self-link" href="#example-31">Example<bdi> 31</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"grid"</span> <span class="hljs-attr">aria-rowcount</span>=<span class="hljs-string">"2000"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"1"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"1"</span>></span>First Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"1"</span>></span>Last Name<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"1"</span>></span>Company<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"columnheader"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"1"</span>></span>Phone<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"rowgroup"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"100"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"100"</span>></span>Fred<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"100"</span>></span>Jackson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"100"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"100"</span>></span>555-1234<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"101"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"101"</span>></span>Sara<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"101"</span>></span>James<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"101"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"101"</span>></span>555-1235<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"row"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"102"</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"102"</span>></span>Taylor<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"102"</span>></span>Johnson<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"102"</span>></span>Acme, Inc.<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"gridcell"</span> <span class="hljs-attr">aria-rowindex</span>=<span class="hljs-string">"102"</span>></span>555-1236<span class="hljs-tag"></<span class="hljs-name">span</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> </div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_integer">integer</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-rowspan"> <h4><span class="property-name" title="aria-rowspan" aria-describedby="desc-aria-rowspan"><code>aria-rowspan</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-rowspan" role="definition"> <p>Defines the number of rows spanned by a cell or gridcell within a <a href="#table" class="role-reference"><code>table</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, or <a href="#treegrid" class="role-reference"><code>treegrid</code></a>. See related <a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a> and <a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a>.</p> <p>This <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-49">attribute</a> is intended for cells and gridcells which are not contained in a native table. When defining the row span of cells or gridcells in a native table, authors <em class="rfc2119">SHOULD</em> use the host language's attribute instead of <a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a>. If <a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a> is used on an element for which the host language provides an equivalent attribute, <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-51">user agents</a> <em class="rfc2119">MUST</em> ignore the value of <a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a> and instead expose the value of the host language's attribute to <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-61">assistive technologies</a>.</p> <p>Authors <em class="rfc2119">MUST</em> set the <span>value</span> of <a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a> to an integer greater than or equal to 0 and less than the value which would cause the cell or gridcell to overlap the next cell or gridcell in the same column. Setting the value to 0 indicates that the cell or gridcell is to span all the remaining rows in the row group.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#cell" class="role-reference"><code>cell</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_integer">integer</a></td> </tr> </tbody> </table> </section> <section class="state notoc" id="aria-selected"> <h4><span class="state-name" title="aria-selected" aria-describedby="desc-aria-selected"><code>aria-selected</code> <span class="type-indicator">state</span></span></h4> <div class="state-description" id="desc-aria-selected" role="definition"> <p>Indicates the current "selected" <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-31">state</a> of various <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-28">widgets</a>. See related <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> and <a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a>.</p> <p>This <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-50">attribute</a> is used with single-selection and multiple-selection widgets:</p> <ol> <li>Single-selection containers where the currently focused item is not selected. The selection normally follows the focus, and is managed by the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-52">user agent</a>.</li> <li>Multiple-selection containers. Authors <em class="rfc2119">SHOULD</em> ensure that any selectable descendant of a container in which the <a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a> attribute is <code>true</code> specifies a value of either <code>true</code> or <code>false</code> for the <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> attribute.</li> </ol> <p>Any explicit assignment of <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a> takes precedence over the implicit selection based on focus. If no <abbr title="Document Object Model">DOM</abbr> element in the widget is explicitly marked as selected, assistive technologies <em class="rfc2119">MAY</em> convey implicit selection which follows the keyboard focus of the <a href="#managingfocus">managed focus</a> widget. If any <abbr title="Document Object Model">DOM</abbr> element in the widget is explicitly marked as selected, the user agent <em class="rfc2119">MUST NOT</em> convey implicit selection for the widget.</p> </div> <table class="state-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="state-applicability-head" scope="row">Used in Roles:</th> <td class="state-applicability"><ul> <li><a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> </ul> </td> </tr> <tr> <th class="state-descendants-head" scope="row">Inherits into Roles:</th> <td class="state-descendants"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="state-value-head" scope="row">Value:</th> <td class="state-value"><a href="#valuetype_true-false-undefined">true/false/undefined</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">false</th> <td class="value-description">The selectable element is not selected.</td> </tr> <tr> <th class="value-name" scope="row">true</th> <td class="value-description">The selectable element is selected.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">undefined (default)</strong></th> <td class="value-description">The element is not selectable.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-setsize"> <h4><span class="property-name" title="aria-setsize" aria-describedby="desc-aria-setsize"><code>aria-setsize</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-setsize" role="definition"> <p>Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the <abbr title="Document Object Model">DOM</abbr>. See related <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a>.</p> <p>This <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-26">property</a> is marked on the members of a set, not the container element that collects the members of the set. To orient the user by saying an element is "item X out of Y," the <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-62">assistive technologies</a> would use X equal to the <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-51">attribute</a> and Y equal to the <code>aria-setsize</code> attribute.</p> <p>If all items in a set are present in the document structure, it is not necessary to set this property, as the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-53">user agent</a> can automatically calculate the set size and position for each item. However, if only a portion of the set is present in the document structure at a given moment (in order to reduce document size), this property is needed to provide an explicit indication of set size.</p> <p>Authors <em class="rfc2119">MUST</em> set the value of <code>aria-setsize</code> to an integer equal to the number of items in the set. If the total number of items is unknown, authors <em class="rfc2119">SHOULD</em> set the value of <code>aria-setsize</code> to <code>-1</code>.</p> <p>When exposing <code>aria-setsize</code> on a <a href="#menuitem" class="role-reference"><code>menuitem</code></a>, <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a>, or <a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a>, authors <em class="rfc2119">SHOULD</em> set the value of <code>aria-setsize</code> based on the total number of items in the <a href="#menu" class="role-reference"><code>menu</code></a>, excluding any separators.</p> <p>The following example shows items 5 through 8 in a set of 16.</p> <div class="example" id="example-32"> <div class="marker"> <a class="self-link" href="#example-32">Example<bdi> 32</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">h2</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"label_fruit"</span>></span> Available Fruit <span class="hljs-tag"></<span class="hljs-name">h2</span>></span> <span class="hljs-tag"><<span class="hljs-name">ul</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"listbox"</span> <span class="hljs-attr">aria-labelledby</span>=<span class="hljs-string">"label_fruit"</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"16"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"5"</span>></span> apples <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"16"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"6"</span>></span> bananas <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"16"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"7"</span>></span> cantaloupes <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"16"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"8"</span>></span> dates <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"></<span class="hljs-name">ul</span>></span></code></pre> </div> <p>The following example shows items 5 through 8 in a set whose total size is unknown.</p> <div class="example" id="example-33"> <div class="marker"> <a class="self-link" href="#example-33">Example<bdi> 33</bdi></a> </div> <pre class="highlight" aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">h2</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"label_fruit"</span>></span> Available Fruit <span class="hljs-tag"></<span class="hljs-name">h2</span>></span> <span class="hljs-tag"><<span class="hljs-name">ul</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"listbox"</span> <span class="hljs-attr">aria-labelledby</span>=<span class="hljs-string">"label_fruit"</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"-1"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"5"</span>></span> apples <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"-1"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"6"</span>></span> bananas <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"-1"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"7"</span>></span> cantaloupes <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">role</span>=<span class="hljs-string">"option"</span> <span class="hljs-attr">aria-setsize</span>=<span class="hljs-string">"-1"</span> <span class="hljs-attr">aria-posinset</span>=<span class="hljs-string">"8"</span>></span> dates <span class="hljs-tag"></<span class="hljs-name">li</span>></span> <span class="hljs-tag"></<span class="hljs-name">ul</span>></span></code></pre> </div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#article" class="role-reference"><code>article</code></a></li> <li><a href="#listitem" class="role-reference"><code>listitem</code></a></li> <li><a href="#menuitem" class="role-reference"><code>menuitem</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> <li><a href="#radio" class="role-reference"><code>radio</code></a></li> <li><a href="#row" class="role-reference"><code>row</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#treeitem" class="role-reference"><code>treeitem</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_integer">integer</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-sort"> <h4><span class="property-name" title="aria-sort" aria-describedby="desc-aria-sort"><code>aria-sort</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-sort" role="definition"> <p>Indicates if items in a table or grid are sorted in ascending or descending order.</p> <p>Authors <em class="rfc2119">SHOULD</em> only apply this <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-27">property</a> to table headers or grid headers. If the property is not provided, there is no defined sort order. For each table or grid, authors <em class="rfc2119">SHOULD</em> apply <a href="#aria-sort" class="property-reference"><code>aria-sort</code></a> to only one header at a time.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#columnheader" class="role-reference"><code>columnheader</code></a></li> <li><a href="#rowheader" class="role-reference"><code>rowheader</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_token">token</a></td> </tr> </tbody> </table> <table class="value-descriptions"> <caption>Values:</caption> <thead> <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr> </thead> <tbody> <tr> <th class="value-name" scope="row">ascending</th> <td class="value-description">Items are sorted in ascending order by this column.</td> </tr> <tr> <th class="value-name" scope="row">descending</th> <td class="value-description">Items are sorted in descending order by this column.</td> </tr> <tr> <th class="value-name" scope="row"><strong class="default">none (default)</strong></th> <td class="value-description">There is no defined sort applied to the column.</td> </tr> <tr> <th class="value-name" scope="row">other</th> <td class="value-description">A sort algorithm other than ascending or descending has been applied.</td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-valuemax"> <h4><span class="property-name" title="aria-valuemax" aria-describedby="desc-aria-valuemax"><code>aria-valuemax</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-valuemax" role="definition"> <p>Defines the maximum allowed value for a range <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-29">widget</a>.</p> <p>Authors <em class="rfc2119">MUST</em> ensure the value of <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> is greater than or equal to the value of <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a>. If the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> has a known maximum and minimum, the author <em class="rfc2119">SHOULD</em> provide properties for <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> and <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a>.</p> <div class="note" role="note" id="issue-container-generatedID-72"><div role="heading" class="note-title marker" id="h-note-72" aria-level="4"><span>Note</span></div><p class="">A range widget starts with a given value, which can be increased until reaching the maximum value, defined by this <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-28">property</a>. Declaring the minimum and maximum <span>values</span> allows assistive technology to convey the size of the range to users.</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><code><range></code> element <code>max</code> attribute in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#range" class="role-reference"><code>range</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#meter" class="role-reference"><code>meter</code></a></li> <li><a href="#progressbar" class="role-reference"><code>progressbar</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_number">number</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-valuemin"> <h4><span class="property-name" title="aria-valuemin" aria-describedby="desc-aria-valuemin"><code>aria-valuemin</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-valuemin" role="definition"> <p>Defines the minimum allowed value for a range <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-30">widget</a>.</p> <p>Authors <em class="rfc2119">MUST</em> ensure the value of <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> is less than or equal to the value of <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a>. If the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> has a known maximum and minimum, the author <em class="rfc2119">SHOULD</em> provide properties for <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> and <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a>.</p> <div class="note" role="note" id="issue-container-generatedID-73"><div role="heading" class="note-title marker" id="h-note-73" aria-level="4"><span>Note</span></div><p class="">A range widget starts with a given value, which can be decreased until reaching the minimum value, defined by this <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-29">property</a>. Declaring the minimum and maximum <span>values</span> allows assistive technology to convey the size of the range to users.</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><code><range></code> element <code>min</code> attribute in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#range" class="role-reference"><code>range</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#meter" class="role-reference"><code>meter</code></a></li> <li><a href="#progressbar" class="role-reference"><code>progressbar</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_number">number</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-valuenow"> <h4><span class="property-name" title="aria-valuenow" aria-describedby="desc-aria-valuenow"><code>aria-valuenow</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-valuenow" role="definition"> <p>Defines the current value for a range <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-31">widget</a>. See related <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a>.</p> <p>This property is used, for example, on a range widget such as a slider or progress bar.</p> <p>If the current value is not known (for example, an indeterminate progress bar), the author <em class="rfc2119">SHOULD NOT</em> set the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-52">attribute</a>. If the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> attribute is absent, no information is implied about the current value. If the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> has a known maximum and minimum, the author <em class="rfc2119">SHOULD</em> provide properties for <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> and <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a>.</p> <p>The value of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> is a decimal number. If the range is a set of numeric values, then <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> is one of those values. For example, if the range is [0, 1], a valid <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> is 0.5. A value outside the range, such as -2.5 or 1.1, is invalid.</p> <p>For <a href="#progressbar" class="role-reference"><code>progressbar</code></a> elements and <a href="#scrollbar" class="role-reference"><code>scrollbar</code></a> elements, assistive technologies <em class="rfc2119">SHOULD</em> render the value to users as a percent, calculated as a position on the range from <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> to <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> if both are defined, otherwise the actual value with a percent indicator. For elements with role <a href="#slider" class="role-reference"><code>slider</code></a> and <a href="#spinbutton" class="role-reference"><code>spinbutton</code></a>, assistive technologies <em class="rfc2119">SHOULD</em> render the actual value to users.</p> <p>When the rendered value cannot be accurately represented as a number, authors <em class="rfc2119">SHOULD</em> use the <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> attribute in conjunction with <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> to provide a user-friendly representation of the range's current value. For example, a slider may have rendered values of <code>small</code>, <code>medium</code>, and <code>large</code>. In this case, the values of <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> would be one of the strings: <code>small</code>, <code>medium</code>, or <code>large</code>.</p> <div class="note" role="note" id="issue-container-generatedID-74"><div role="heading" class="note-title marker" id="h-note-74" aria-level="4"><span>Note</span></div><p class="">If <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> is specified, assistive technologies render that instead of the value of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a>.</p></div> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-related-head" scope="row">Related Concepts:</th> <td class="property-related"><code><range></code> element <code>value</code> attribute in [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>]</td> </tr> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#meter" class="role-reference"><code>meter</code></a></li> <li><a href="#range" class="role-reference"><code>range</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#meter" class="role-reference"><code>meter</code></a></li> <li><a href="#progressbar" class="role-reference"><code>progressbar</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_number">number</a></td> </tr> </tbody> </table> </section> <section class="property notoc" id="aria-valuetext"> <h4><span class="property-name" title="aria-valuetext" aria-describedby="desc-aria-valuetext"><code>aria-valuetext</code> <span class="type-indicator">property</span></span></h4> <div class="property-description" id="desc-aria-valuetext" role="definition"> <p>Defines the human readable text alternative of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> for a range <a href="#dfn-widget" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-widget-32">widget</a>.</p> <p>This property is used, for example, on a range widget such as a slider or progress bar.</p> <p>If the <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> attribute is set, authors <em class="rfc2119">SHOULD</em> also set the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> attribute, unless that value is unknown (for example, on an indeterminate <a href="#progressbar" class="role-reference"><code>progressbar</code></a>).</p> <p>Authors <em class="rfc2119">SHOULD</em> only set the <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> attribute when the rendered value cannot be meaningfully represented as a number. For example, a slider may have rendered values of <code>small</code>, <code>medium</code>, and <code>large</code>. In this case, the values of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> could range from 1 through 3, which indicate the position of each value in the value space, but the <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> would be one of the strings: <code>small</code>, <code>medium</code>, or <code>large</code>. If the <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> attribute is absent, the <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-63">assistive technologies</a> will rely solely on the <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> attribute for the current value.</p> <p>If <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> is specified, assistive technologies <em class="rfc2119">SHOULD</em> render that value instead of the value of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a>.</p> </div> <table class="property-features"> <caption>Characteristics:</caption> <thead> <tr> <th scope="col">Characteristic</th> <th scope="col">Value</th> </tr> </thead> <tbody> <tr> <th class="property-applicability-head" scope="row">Used in Roles:</th> <td class="property-applicability"><ul> <li><a href="#range" class="role-reference"><code>range</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> </ul> </td> </tr> <tr> <th class="property-descendants-head" scope="row">Inherits into Roles:</th> <td class="property-descendants"><ul> <li><a href="#meter" class="role-reference"><code>meter</code></a></li> <li><a href="#progressbar" class="role-reference"><code>progressbar</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#spinbutton" class="role-reference"><code>spinbutton</code></a></li> </ul> </td> </tr> <tr> <th class="property-value-head" scope="row">Value:</th> <td class="property-value"><a href="#valuetype_string">string</a></td> </tr> </tbody> </table> </section> </section> </section> <section class="normative" id="accessibility_tree"><div class="header-wrapper"><h2 id="x7-accessibility-tree"><bdi class="secno">7. </bdi>Accessibility Tree</h2><a class="self-link" href="#accessibility_tree" aria-label="Permalink for Section 7."></a></div> <p>The <a class="termref informative internalDFN" href="#dfn-accessibility-tree" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-8">accessibility tree</a> and the <abbr title="Document Object Model">DOM</abbr> tree are parallel structures. The <a href="#dfn-accessibility-tree" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-9">accessibility tree</a> includes the user interface objects of the <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-54">user agent</a> and the objects of the document. <a href="#dfn-accessible-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessible-object-6">Accessible objects</a> are created in the accessibility tree for every <abbr title="Document Object Model">DOM</abbr> element that should be exposed to an <a href="#dfn-assistive-technology" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-assistive-technology-64">assistive technology</a>, either because it may fire an accessibility <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-11">event</a> or because it has a <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-30">property</a>, <a href="#dfn-relationship" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-relationship-14">relationship</a> or feature which needs to be exposed.</p> <section id="tree_exclusion"><div class="header-wrapper"><h3 id="x7-1-excluding-elements-from-the-accessibility-tree"><bdi class="secno">7.1 </bdi>Excluding Elements from the Accessibility Tree</h3><a class="self-link" href="#tree_exclusion" aria-label="Permalink for Section 7.1"></a></div> <p>The following <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-101">elements</a> are not exposed via the <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-32">accessibility <abbr title="Application Programing Interfaces">API</abbr></a> and user agents <em class="rfc2119">MUST NOT</em> include them in the <a class="termref informative internalDFN" href="#dfn-accessibility-tree" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-10">accessibility tree</a>:</p> <ul> <li>Elements, including their descendent elements, that have host language semantics specifying that the element is not displayed, such as <abbr title="Cascading Style Sheets">CSS</abbr> <code>display:none</code>, <code>visibility:hidden</code>, or the <abbr title="Hypertext Markup Language">HTML</abbr> <code>hidden</code> attribute.</li> <li>Elements with <a href="#none" class="role-reference"><code>none</code></a> or <a href="#presentation" class="role-reference"><code>presentation</code></a> as the first role in the role attribute. However, their exclusion is conditional. In addition, the element's descendants and text content are generally included. These exceptions and conditions are documented in the <a href="#presentation">presentation (role)</a> section.</li> </ul> <p>If not already excluded from the accessibility tree per the above rules, user agents <em class="rfc2119">SHOULD NOT</em> include the following elements in the accessibility tree:</p> <ul> <li>Elements, including their descendants, that have <a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> set to <code>true</code>. In other words, <code>aria-hidden="true"</code> on a parent overrides <code>aria-hidden="false"</code> on descendants.</li> <li> <p>Any descendants of elements that have the characteristic "<a href="#childrenArePresentational">Children Presentational: True</a>" unless the descendant is not allowed to be presentational because it meets one of the conditions for exception described in <a href="#conflict_resolution_presentation_none">Presentational Roles Conflict Resolution</a>. However, the text content of any excluded descendants is included.</p> <p>Elements with the following roles have the characteristic "Children Presentational: True":</p> <ul> <li><a href="#button" class="role-reference"><code>button</code></a></li> <li><a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li><a href="#img" class="role-reference"><code>img</code></a></li> <li><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></li> <li><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li><a href="#meter" class="role-reference"><code>meter</code></a></li> <li><a href="#option" class="role-reference"><code>option</code></a></li> <li><a href="#progressbar" class="role-reference"><code>progressbar</code></a></li> <li><a href="#radio" class="role-reference"><code>radio</code></a></li> <li><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></li> <li><a href="#separator" class="role-reference"><code>separator</code></a></li> <li><a href="#slider" class="role-reference"><code>slider</code></a></li> <li><a href="#switch" class="role-reference"><code>switch</code></a></li> <li><a href="#tab" class="role-reference"><code>tab</code></a></li> </ul> </li> </ul> </section> <section id="tree_inclusion"><div class="header-wrapper"><h3 id="x7-2-including-elements-in-the-accessibility-tree"><bdi class="secno">7.2 </bdi>Including Elements in the Accessibility Tree</h3><a class="self-link" href="#tree_inclusion" aria-label="Permalink for Section 7.2"></a></div> <p>If not excluded from or marked as hidden in the accessibility tree per the rules above in <a href="#tree_exclusion">Excluding Elements in the Accessibility Tree</a>, user agents <em class="rfc2119">MUST</em> provide an <a href="#dfn-accessible-object" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessible-object-7">accessible object</a> in the <a href="#dfn-accessibility-tree" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-tree-11">accessibility tree</a> for <abbr title="Document Object Model">DOM</abbr> <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-102">elements</a> that meet any of the following criteria:</p> <ul> <li>Elements that are not <a href="#dfn-hidden" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-hidden-5">hidden</a> and may fire an <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-33">accessibility <abbr title="Application Program Interface">API</abbr></a> <a href="#dfn-event" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-event-12">event</a>, including: <ul> <li>Elements that are currently focused, even if the element or one of its ancestor elements has its <a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> attribute set to <code>true</code>.</li> <li>Elements that are a valid target of an <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> attribute.</li> </ul> </li> <li>Elements that have an explicit role or a global <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> attribute and do not have <a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a> set to <code>true</code>. (See <a href="#tree_exclusion">Excluding Elements in the Accessibility Tree</a> for additional guidance on <a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a>.)</li> <li>Elements that are not <a href="#dfn-hidden" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-hidden-6">hidden</a> and have an ID that is referenced by another element via a <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> property. <div class="note" role="note" id="issue-container-generatedID-75"><div role="heading" class="note-title marker" id="h-note-75" aria-level="4"><span>Note</span></div><p class="">Text equivalents for hidden referenced objects may still be used in the <a href="https://www.w3.org/TR/accname-1.2/#mapping_additional_nd" class="accname">name and description computation</a> even when not included in the accessibility tree.</p></div> </li> </ul> </section> </section> <section class="normative" id="host_languages"><div class="header-wrapper"><h2 id="x8-implementation-in-host-languages"><bdi class="secno">8. </bdi>Implementation in Host Languages</h2><a class="self-link" href="#host_languages" aria-label="Permalink for Section 8."></a></div> <p>The <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-86">roles</a>, <a href="#dfn-state" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-state-32">state</a>, and <a href="#dfn-property" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-property-31">properties</a> defined in this specification do not form a complete web language or format. They are intended to be used in the context of a host language. This section discusses how host languages are to implement <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>, to ensure that the markup specified here will integrate smoothly and effectively with the host language markup.</p> <p>Although markup languages look alike superficially, they do not share language definition infrastructure. To accommodate differences in language-building approaches, the requirements are both general and modularization-specific. While allowing for differences in how the specifications are written, the intent is to maintain consistency in how the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> information looks to authors and how it is manipulated in the <abbr title="Document Object Model">DOM</abbr> by scripts.</p> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles, states, and properties are implemented as <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-53">attributes</a> of <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-103">elements</a>. Roles are applied by placing their names among the tokens appearing in the value of a host-language-provided <code>role</code> attribute. States and properties each get their own attribute, with values as defined for each particular state or property in this specification. The name of the attribute is the aria-prefixed name of the state or property.</p> <section id="host_general_role"><div class="header-wrapper"><h3 id="x8-1-role-attribute"><bdi class="secno">8.1 </bdi>Role Attribute</h3><a class="self-link" href="#host_general_role" aria-label="Permalink for Section 8.1"></a></div> <p>An implementing host language will provide an <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-54">attribute</a> with the following characteristics:</p> <ul> <li>The attribute name <em class="rfc2119">MUST</em> be <code>role</code>;</li> <li>The attribute value <em class="rfc2119">MUST</em> allow a token list as the value;</li> <li>The appearance of the name literal of any concrete <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-87">role</a> as one of these tokens <em class="rfc2119">MUST NOT</em> in and of itself make the attribute value illegal in the host-language syntax; and</li> <li>The first name literal of a non-abstract <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role in the list of tokens in the role attribute defines the role according to which the user agent <em class="rfc2119">MUST</em> process the element. User Agent processing for roles is defined in the <cite><a href="https://www.w3.org/TR/core-aam-1.2/" class="core-mapping">Core Accessibility <abbr title="application programming interface">API</abbr> Mappings</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-core-aam-1.2" title="Core Accessibility API Mappings 1.2">CORE-AAM-1.2</a></cite>].</li> </ul> </section> <section id="host_general_attrs"><div class="header-wrapper"><h3 id="x8-2-state-and-property-attributes"><bdi class="secno">8.2 </bdi>State and Property Attributes</h3><a class="self-link" href="#host_general_attrs" aria-label="Permalink for Section 8.2"></a></div> <p>An implementing host language <em class="rfc2119">MUST</em> allow <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-55">attributes</a> with the following characteristics:</p> <ul> <li>The attribute name is the name of any state or property identified in the <a href="#states_and_properties">Supported States and Properties</a> section, such as <a href="#aria-busy" class="state-reference"><code>aria-busy</code></a>, <a href="#aria-selected" class="state-reference"><code>aria-selected</code></a>, <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a>, <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a>;</li> <li>The syntax does <strong>NOT</strong> prevent the attribute from appearing anywhere that it is applicable, as specified in this specification;</li> <li>When these attributes appear in a document instance, the attributes will be processed as defined in this specification.</li> </ul> <p> Host languages that support <cite><a href="https://www.w3.org/TR/2006/REC-xml-names-20060816/"><abbr title="Extensible Markup Language">XML</abbr> Namespaces</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-xml-names" title="Namespaces in XML 1.0 (Third Edition)">XML-NAMES</a></cite>] <strong><em class="rfc2119">MAY</em></strong> require that <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> attributes be used with a namespace. In this case, the namespace for <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> state and property attributes <strong><em class="rfc2119">MUST</em></strong> be <code>http://www.w3.org/ns/wai-aria/</code>. To use <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> in host languages that do not explicitly describe support for it, authors <strong><em class="rfc2119">SHOULD</em></strong> use this namespace as well, if the host language supports namespaces and there is expectation that user agents will recognize the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> namespace. The namespace prefix is not defined by this specification but generally is expected to be "<code>aria</code>". </p> <div class="note" role="note" id="issue-container-generatedID-76"><div role="heading" class="note-title marker" id="h-note-76" aria-level="4"><span>Note</span></div><p class="">The <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> state and property attributes have a naming convention such that they all begin with the string "<code>aria-</code>". This is <em>not</em> a namespace prefix, it is a part of the state or property name. Therefore, when using <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> states and properties with namespace prefixes, the complete attribute name will be like "<code>aria:aria-foo</code>".</p></div> <p>Some host languages do not use namespaces with <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> state and property attributes, either because the host language does not support namespaces or because the designers wish to incorporate <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> into the core feature set. In these host languages, the namespace name for these attributes has no value. The names of these attributes do not have a prefix offset by a colon; in the terms of namespaces they are unprefixed attribute names. The ECMAScript binding of the <abbr title="Document Object Model">DOM</abbr> interface <code>getAttributeNS</code> for example, treats an empty string (<code>""</code>) as representing this condition, so that both <code>getAttribute("aria-busy")</code> and <code>getAttributeNS("", "aria-busy")</code> access the same <a href="#aria-busy" class="state-reference"><code>aria-busy</code></a> attribute in the <abbr title="Document Object Model">DOM</abbr>.</p> <div class="note" role="note" id="issue-container-generatedID-77"><div role="heading" class="note-title marker" id="h-note-77" aria-level="4"><span>Note</span></div><p class="">According to the requirements of this section, some user agents recognize <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> state and property attributes <em>with</em> namespaces, some <em>without</em> namespaces, and some might recognize both. Authors are advised to be aware of which form is supported for the host language they are using. Unless the host language and supporting user agents explicitly indicate that the namespace is required, authors are advised to use the attribute without namespaces. Even user agents that support namespaces generally do not publish namespaced <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> states and properties to accessibility <abbr title="Application Programing Interfaces">APIs</abbr>. In particular, current implementations of <abbr title="Hypertext Markup Language">HTML</abbr>, including <abbr title="Extensible Hypertext Markup Language">XHTML</abbr>, do not support this namespace.</p></div> </section> <section id="host_general_focus"><div class="header-wrapper"><h3 id="x8-3-focus-navigation"><bdi class="secno">8.3 </bdi>Focus Navigation</h3><a class="self-link" href="#host_general_focus" aria-label="Permalink for Section 8.3"></a></div> <p>An implementing host language <em class="rfc2119">MUST</em> provide support for the author to make all interactive elements focusable, that is, any renderable or event-receiving elements. An implementing host language <em class="rfc2119">MUST</em> provide a facility to allow web authors to define whether these focusable, interactive elements appear in the default tab navigation order. The <code>tabindex</code> <a href="#dfn-attribute" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-attribute-56">attribute</a> in <abbr title="Hypertext Markup Language">HTML</abbr> is an example of one implementation.</p> </section> <section id="implicit_semantics"><div class="header-wrapper"><h3 id="x8-4-implicit-wai-aria-semantics"><bdi class="secno">8.4 </bdi>Implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Semantics</h3><a class="self-link" href="#implicit_semantics" aria-label="Permalink for Section 8.4"></a></div> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is designed to provide <a href="#dfn-semantics" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-semantics-7">semantic</a> information about objects when host languages lack native semantics for the object. <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is designed, however, to provide additional semantics for many host languages. Furthermore, host languages over time can evolve and provide new native features that correspond to <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> features. Therefore, there are many situations in which <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics are redundant with host language semantics. </p> <p>These host language features can be viewed as having "implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics". User agent processing of features with implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics would be similar to the processing for the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> feature. The processing might not be identical because of lexical differences between the host language feature and the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> feature, but generally the user agent would expose the same information to the accessibility <abbr title="application programming interface">API</abbr>. Features with implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics satisfy <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> structural requirements such as required owned elements, required states and properties, etc. and do not require explicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics to be provided. On elements with implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> roles, authors can also use <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> states and properties supported by those roles <em>without</em> requiring explicit indication of the <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role.</p> <p>For example, if an element with the functionality already exists, such as a checkbox or radio button, use the native semantics of the host language. <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> markup is only intended to be used to enhance the native semantics (e.g., indicating that the element is required with <a href="#aria-required" class="property-reference"><code>aria-required</code></a>), or to change the semantics to a different purpose from the standard functionality of the element.</p> <p>Implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics affect the conflict resolution procedures in the following section, Conflicts with Host Language Semantics. Therefore, implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics need to be defined in a normative specification, such as the host language specification or the <cite><a href="https://www.w3.org/TR/core-aam-1.2/" class="core-mapping">Core Accessibility <abbr title="application programming interface">API</abbr> Mappings</a></cite>.</p> </section> <section id="host_general_conflict"><div class="header-wrapper"><h3 id="x8-5-conflicts-with-host-language-semantics"><bdi class="secno">8.5 </bdi>Conflicts with Host Language Semantics</h3><a class="self-link" href="#host_general_conflict" aria-label="Permalink for Section 8.5"></a></div> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles, states, and properties are intended to add <a href="#dfn-semantics" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-semantics-8">semantic</a> information when native host language elements with these semantics are not available, and are generally used on elements that have no native semantics of their own. They can also be used on elements that have similar but non-identical semantics (for example, a nested list could be used to represent a tree structure). This method can be part of a fallback strategy for older browsers that have no <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> implementation, or because native presentation of the repurposed element reduces the amount of style and/or script needed. Except for the cases outlined below, user agents <em class="rfc2119">MUST</em> always use the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics to define how it exposes the element to accessibility <abbr title="Application Programing Interfaces">APIs</abbr>, rather than using the host language semantics.</p> <p>In addition to these normal situations in which <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is expected to override native semantics, there are elements that are inappropriate to override with <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>. This could be because identical host language semantics exist, so <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> is not needed, or because semantics from <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> directly conflict with host language semantics. When a feature in the host language with identical role semantics and values is available, and the author has no compelling reason to avoid using the host language feature, authors <em class="rfc2119">SHOULD</em> use the host language features rather than repurpose other elements with <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>.</p> <p>Host languages can have features that have implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics corresponding to roles. When a <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role is provided, user agents <em class="rfc2119">MUST</em> use the semantic of the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role for processing, not the native semantic, unless the role requires <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> states and properties whose attributes are explicitly forbidden on the native element by the host language. Values for roles do not conflict in the same way as values for states and properties (for example, the <abbr title="Hypertext Markup Language">HTML</abbr> 'checked' attribute and the 'aria-checked' attribute could have conflicting values), and authors are expected to have valid reason to provide a <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role even on elements that would not normally be repurposed.</p> <p>When <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> states and properties correspond to host language features that have the same <a href="#implicit_semantics">implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantic</a>, it can be particularly problematic to use the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> feature. If the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> feature and the host language feature are both provided but their values are not kept in sync, user agents and assistive technologies cannot know which value to use. Therefore, to prevent providing conflicting states and properties to assistive technologies, host languages <em class="rfc2119">MUST</em> explicitly declare where the use of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> attributes on each host language element conflicts with native attributes for that element. When a host language declares a <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> attribute to be in direct semantic conflict with a native attribute for a given element, user agents <em class="rfc2119">MUST</em> ignore the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> attribute and instead use the host language attribute with the same implicit semantic.</p> <p>Host languages <em class="rfc2119">MAY</em> document features that cannot be overridden with <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> (these are called "strong native semantics"). These can be features that have implicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> semantics, as well as features where the processing would be uncertain if the semantics were changed with <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>. Conformance checkers <em class="rfc2119">MAY</em> signal an error or warning when a <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role is used on elements with strong native semantics, but as described above, user agents <em class="rfc2119">MUST</em> still use the value of the semantic of the <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role when exposing the element to accessibility <abbr title="Application Programing Interfaces">APIs</abbr> unless the native host language semantic is permanently presentational.</p> <p>The opportunity for host languages to create exceptions to the <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> override of native features is meant to avoid potential author errors or problems with intrinsic processing of host language features. Author errors could happen when a host language and <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> provide similar but not identical features, where it might not be clear how changing one but not the other affects the accessibility <abbr title="application programming interface">API</abbr>. Intrinsic processing refers to the way a feature is processed, beyond simple rendering and exposure to the Accessibility <abbr title="application programming interface">API</abbr>, that cannot reasonably be changed in response to an ARIA feature, and would lead to unpredictable results were ARIA allowed. In these situations, there is good reason for host languages to limit the scope of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr>. However, this provision does not give blanket permission for host languages to forbid the use of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> simply by documenting, feature by feature, that it may not be used. Host languages should create restrictions on the use of ARIA only when it is critical to effective processing of content.</p> <p>Certain ARIA features are critical to building a complete model in the accessibility <abbr title="application programming interface">API</abbr>. Such features are not expected to conflict with native host language semantics (though they may complement them). Therefore, host languages <em class="rfc2119">MUST NOT</em> declare strong native semantics that prevent use of the following ARIA features:</p> <ul> <li><a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a></li> <li><a href="#aria-label" class="property-reference"><code>aria-label</code></a></li> <li><a href="#aria-labelledby" class="property-reference"><code>aria-labelledby</code></a></li> </ul> </section> <section id="state_property_processing"><div class="header-wrapper"><h3 id="x8-6-state-and-property-attribute-processing"><bdi class="secno">8.6 </bdi>State and Property Attribute Processing</h3><a class="self-link" href="#state_property_processing" aria-label="Permalink for Section 8.6"></a></div> <p>State and property attributes are included in host languages, and therefore syntax for representation of their value types is governed by the host language. For each of the value types defined in <a href="#propcharacteristic_value">Value</a>, an appropriate value type from the host language is used. Recommended correspondences between <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> value types and various host language value types are listed in <a href="#typemapping">Mapping <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Value types to languages</a>. This is a non-normative mapping in order to accommodate new host languages supporting <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>.</p> <p>The list value types—ID reference list and token list—allow more than one value of the given type to be provided. The values are separated by delimiter characters recognized by the host language for list attributes, such as space characters, commas, etc. Some languages may require a specific, single delimiter, while others may allow various delimiters.</p> <p>Global states and properties are supported on any element in the host language. However, authors <em class="rfc2119">MUST</em> only use non-global states and properties on elements with a role supporting the state or property; either defined as an explicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role, or as defined by the host language implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> semantic matching an appropriate <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role. When a role attribute is added to an element, the <a href="#dfn-semantics" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-semantics-9">semantics</a> and behavior of the element, including support for <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> states and properties, are augmented or overridden by the role behavior. User agents <strong><em class="rfc2119">MUST</em></strong> ignore non-global states and properties used on an element without a role supporting the state or property; either defined as an explicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role, or as defined by the host language <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> semantic matching an appropriate <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role. For example, the <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> attribute may be used on a <a href="#progressbar" class="role-reference"><code>progressbar</code></a>.</p> <p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles have associated states and properties that are qualified as "supported" or "required". An example of a property <em>supported</em> by the <a class="role-reference" href="#combobox">combobox</a> role is <a class="property-reference" href="#aria-autocomplete">aria-autocomplete</a>. The property is designated "supported" in this case because a given <code>combobox</code> might or might not implement auto completion. In contrast, the <code>combobox</code> role <em>requires</em> the <a class="state-reference" href="#aria-expanded">aria-expanded</a> state in order to indicate that it is expandable. Comboboxes have a controlled popup element, such as a <code>listbox</code>, that is either open or closed. If the <code>listbox</code> is open, the <code>combobox</code> is in its expanded state; otherwise it is collapsed. </p> <p>When <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles are used, <em>supported</em> states and properties that are not present in the <abbr title="Document Object Model">DOM</abbr> are treated according to their default value. Keeping with the <code>combobox</code> example, a missing <code>aria-autocomplete</code> attribute is equivalent to <code>aria-autocomplete="none"</code>, meaning the <code>combobox</code> does not offer auto completion. </p> <p>However, <em>required</em> states and properties that are absent are an author error. Missing required states and properties are treated as if they were present and have an implicit neutral value that is not necessarily their default value. For example, the default value of <code>aria-expanded</code> is <code>undefined</code>, meaning neither expandable nor collapsible. But that does not apply to the case of a <code>combobox</code>. In this case, <code>aria-expanded</code> is needed to convey the expandable/collapsible nature of the <code>combobox</code>. Thus, the implicit value of <code>aria-expanded</code> for the <code>combobox</code> role is <code>false</code>, meaning expandable (and currently collapsed). The characteristics table associated with each <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role has an "<a href="#implictValueForRole">Implicit Value for Role</a>" entry that specifies the value of a state or property to use in the context of that role when the state or property is missing. </p> <p>Elements that have implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> semantics support the full set of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> states and properties supported by the corresponding role. Therefore, authors <em class="rfc2119">MAY</em> omit the role when setting states and properties. The role is only needed when the implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role of the element needs to be changed.</p> <p>Sometimes states and properties are present in the <abbr title="Document Object Model">DOM</abbr> but have a zero-length string ("") as their value. Authors <em class="rfc2119">MAY</em> specify a zero-length string ("") for any supported (but not required) state or property. User agents <em class="rfc2119">SHOULD</em> treat state and property attributes with a value of "" the same as they treat an absent attribute. For supported states and properties, this corresponds to the default value, but if it is a required attribute, it signals an author error, and the implicit value for the role is used. </p> <section id="mapping_additional_relations_error_processing"><div class="header-wrapper"><h4 id="x8-6-1-id-reference-error-processing"><bdi class="secno">8.6.1 </bdi>ID Reference Error Processing</h4><a class="self-link" href="#mapping_additional_relations_error_processing" aria-label="Permalink for Section 8.6.1"></a></div> <p><a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-55">User agents</a> <em class="rfc2119">SHOULD</em> ignore ID references that do not match the ID of another <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-104">element</a> in the same document.</p> <p>It is the web author's responsibility to ensure that IDs are unique. If more than one element has the same ID, the user agent <em class="rfc2119">SHOULD</em> use the first element found with the given ID. The behavior will be the same as <code>getElementById</code>.</p> <p>If the same element is specified multiple times in a single <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> relation, user agents <em class="rfc2119">SHOULD</em> return multiple pointers to the same <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-105">element</a>.</p> <p><a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> is defined as referencing only a single ID reference. Any <code>aria-activedescendant</code> value that does not match an existing ID reference exactly is an author error and will not match any element in the <abbr title="Document Object Model">DOM</abbr>.</p> </section> </section> <section id="document-handling_css-selectors"><div class="header-wrapper"><h3 id="x8-7-css-selectors"><bdi class="secno">8.7 </bdi><abbr title="Cascading Style Sheets">CSS</abbr> Selectors</h3><a class="self-link" href="#document-handling_css-selectors" aria-label="Permalink for Section 8.7"></a></div> <div class="note" role="note" id="issue-container-generatedID-78"><div role="heading" class="note-title marker" id="h-note-78" aria-level="4"><span>Note</span></div><p class="">This section might be removed in a future version.</p></div> <p>Support for <a class="termref informative internalDFN" href="#dfn-attribute" data-link-type="dfn" id="ref-for-dfn-attribute-57">attribute</a> selectors <em class="rfc2119">MUST</em> include <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> attributes. For example, <samp>.fooMenuItem[aria-haspopup="true"]</samp> would select all <a class="termref informative internalDFN" href="#dfn-element" data-link-type="dfn" id="ref-for-dfn-element-106">elements</a> with class <code>fooMenuItem</code>, and <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> property <a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> with value of <code>true</code>. The presentation <em class="rfc2119">MUST</em> be updated for dynamic changes to <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> attributes. This allows authors to match styling with <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> <a href="#dfn-semantics" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-semantics-10">semantics</a>. </p> </section> </section> <section id="document-handling_author-errors"><div class="header-wrapper"><h2 id="x9-handling-author-errors"><bdi class="secno">9. </bdi>Handling Author Errors</h2><a class="self-link" href="#document-handling_author-errors" aria-label="Permalink for Section 9."></a></div> <section id="document-handling_author-errors_roles"><div class="header-wrapper"><h3 id="x9-1-roles"><bdi class="secno">9.1 </bdi>Roles</h3><a class="self-link" href="#document-handling_author-errors_roles" aria-label="Permalink for Section 9.1"></a></div> <p>User agents are expected to perform validation of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-88">roles</a>.</p> <p>As stated in the <a href="#role_definitions">Definition of Roles</a> section, it is considered an authoring error to use <a href="#abstract_roles">abstract roles</a> in content. User agents <em class="rfc2119">MUST NOT</em> map abstract roles via the standard role mechanism of the accessibility <abbr title="application programming interface">API</abbr>.</p> <p>If the <code>role</code> attribute contains no tokens matching the name of a non-abstract <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role, the user agent <em class="rfc2119">MUST</em> treat the element as if no <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-89">role</a> had been provided. For example, <code><table role="foo"></code> should be exposed in the same way as <code><table></code> and <code><input type="text" role="structure"></code> in the same way as <code><input type="text"></code>.</p> </section> <section id="document-handling_author-errors_states-properties"><div class="header-wrapper"><h3 id="x9-2-states-and-properties"><bdi class="secno">9.2 </bdi>States and Properties</h3><a class="self-link" href="#document-handling_author-errors_states-properties" aria-label="Permalink for Section 9.2"></a></div> <p>In general, <a href="#dfn-user-agent" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-user-agent-56">user agents</a> do not do much validation of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> <a class="termref informative internalDFN" href="#dfn-property" data-link-type="dfn" id="ref-for-dfn-property-32">properties</a>. User agents <em class="rfc2119">MAY</em> do some minor validation on request, such as making sure <a data-lt="valid idref" href="#dfn-valid-idref" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-valid-idref-1">valid IDs</a> are specified for <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> relations, and enforcing things like <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a> being within 1 and <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a>, inclusive. User agents are not responsible for logical validation, such as the following:</p> <ol> <li>Circular references created by relations, such as specifying that two <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-107">elements</a> own each other. </li> <li>Correct usage with regard to <abbr title="Document Object Model">DOM</abbr> tree structure, such as an <a href="#dfn-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-element-108">element</a> being owned by more than one other element.</li> <li>Elements with <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> <a href="#dfn-role" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-role-90">roles</a> correctly implement the behavior of the specified role. For example, user agents do not verify that an element with a role of <a href="#checkbox" class="role-reference"><code>checkbox</code></a> actually behaves like a checkbox.</li> <li>Elements that do not correctly observe required child / parent role relationships or that appear elsewhere than in their required parent.</li> <li>Determining whether <a href="#aria-activedescendant" class="property-reference"><code>aria-activedescendant</code></a> actually points to an <a href="#dfn-owned-element" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-owned-element-34">owned</a> element of the container widget.</li> <li>Determining implicit values of <a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a> and <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a> when they are specified on some but not all the elements of the set.</li> </ol> <p>If the author specifies a non-numeric value for a decimal or integer value type, the user agent <em class="rfc2119">SHOULD</em> do the following:</p> <ul> <li>When asked for the string version of the property, return the string if specified by the author.</li> <li>When asked for the numeric version: <ul> <li>Follow the guidance in the <a href="#authorErrorDefaultValuesTable">Fallback values for missing required attributes</a> table below, if applicable. </li> <li>Otherwise, return a fallback value of 0.0 for decimal value types and 0 for integer value types. </li> </ul> </li> </ul> <p>If a <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> property contains an unknown or disallowed value, the user agent <em class="rfc2119">SHOULD</em> expose to platform <a href="#dfn-accessibility-api" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-accessibility-api-34">accessibility <abbr title="Application Programing Interfaces">APIs</abbr></a> as follows:</p> <ul> <li>When exposing as a platform accessibility <abbr title="application programming interface">API</abbr> attribute, expose the unknown value — do not vet it against possible values. </li> <li>When exposing as a platform <abbr title="application programming interface">API</abbr> Boolean state: <ul> <li>For values of "" (empty string), "undefined" or no <a class="termref informative internalDFN" href="#dfn-attribute" data-link-type="dfn" id="ref-for-dfn-attribute-58">attribute</a> present: <ul> <li>Follow the guidance in the <a href="#authorErrorDefaultValuesTable">Fallback values for missing required attributes</a> table below, if applicable. </li> <li>Otherwise, treat as false. </li> </ul> </li> <li>Treat any other value as true.</li> </ul> </li> <li>Otherwise, ignore the value and treat the property as not present.</li> </ul> <div class="note" role="note" id="issue-container-generatedID-79"><div role="heading" class="note-title marker" id="h-note-79" aria-level="4"><span>Note</span></div><p class="">In <abbr title="User Interface Automation">UIA</abbr>, the user agent might leave the corresponding property set to "unsupported."</p></div> <p>User agents <em class="rfc2119">MUST NOT</em> expose <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> attributes that reference unresolved IDs. For example:</p> <ul> <li>When the state or property has only one ID reference that cannot be resolved, treat as if the state or property is not present.</li> <li>When the state or property has a list of ID references, ignore any that can't be resolved. If none in the list can be resolved, treat as if the state or property is not present.</li> </ul> <p>User Agents <em class="rfc2119">MUST NOT</em> expose <a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a> when: </p> <ul> <li>The element it is applied to has an invalid <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role, or</li> <li>The element does not have an implicit <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role</li> </ul> <p>If a required <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> attribute for a given role is missing, user agents <em class="rfc2119">SHOULD</em> process the attribute as if the values given in the following table were provided.</p> <table id="authorErrorDefaultValuesTable"> <caption>Fallback values for missing required attributes</caption> <thead> <tr> <th><abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> role</th> <th>Required Attribute</th> <th>Fallback value</th> </tr> </thead> <tbody> <tr> <td><a href="#checkbox" class="role-reference"><code>checkbox</code></a></td> <td><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></td> <td><code>false</code> </td> </tr> <tr> <td><a href="#combobox" class="role-reference"><code>combobox</code></a></td> <td><a href="#aria-controls" class="state-reference"><code>aria-controls</code></a></td> <td>no mapping</td> </tr> <tr> <td><a href="#combobox" class="role-reference"><code>combobox</code></a></td> <td><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></td> <td><code>false</code></td> </tr> <tr> <td><a href="#heading" class="role-reference"><code>heading</code></a></td> <td><a href="#aria-level" class="property-reference"><code>aria-level</code></a></td> <td><code>2</code></td> </tr> <tr> <td><a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a></td> <td><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></td> <td><code>false</code> </td> </tr> <tr> <td><a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></td> <td><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></td> <td><code>false</code> </td> </tr> <tr> <td><a href="#radio" class="role-reference"><code>radio</code></a></td> <td><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></td> <td><code>false</code> </td> </tr> <tr> <td><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></td> <td><a href="#aria-controls" class="property-reference"><code>aria-controls</code></a></td> <td>no mapping</td> </tr> <tr> <td><a href="#scrollbar" class="role-reference"><code>scrollbar</code></a></td> <td><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></td> <td>If missing or not a <a href="#valuetype_number">number</a>,<code>(aria-valuemax - aria-valuemin) / 2</code>. If present but less than <code>aria-valuemin</code>, the value of <code>aria-valuemin</code>. If present but greater than <code>aria-valuemax</code>, the value of <code>aria-valuemax</code>.</td> </tr> <tr> <td><a href="#separator" class="role-reference"><code>separator</code></a> (if focusable)</td> <td><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></td> <td>If missing or not a <a href="#valuetype_number">number</a>,<code>(aria-valuemax - aria-valuemin) / 2</code>. If present but less than <code>aria-valuemin</code>, the value of <code>aria-valuemin</code>. If present but greater than <code>aria-valuemax</code>, the value of <code>aria-valuemax</code>.</td> </tr> <tr> <td><a href="#slider" class="role-reference"><code>slider</code></a></td> <td><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></td> <td>If missing or not a <a href="#valuetype_number">number</a>,<code>(aria-valuemax - aria-valuemin) / 2</code>. If present but less than <code>aria-valuemin</code>, the value of <code>aria-valuemin</code>. If present but greater than <code>aria-valuemax</code>, the value of <code>aria-valuemax</code>. </td> </tr> <tr> <td><a href="#switch" class="role-reference"><code>switch</code></a></td> <td><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></td> <td><code>false</code> </td> </tr> <tr> <td><a href="#meter" class="role-reference"><code>meter</code></a></td> <td><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></td> <td>A value matching the implicit or explicitly set <code>aria-valuemin</code>.</td> </tr> </tbody> </table> <div class="note" role="note" id="issue-container-generatedID-80"><div role="heading" class="note-title marker" id="h-note-80" aria-level="4"><span>Note</span></div><p class="">Implicit Values for non-required states and properties appear in the characteristics table for each role. These are not considered fallback values so are not included here.</p></div> </section> </section> <section id="idl-interface" class="normative"><div class="header-wrapper"><h2 id="x10-idl-interface"><bdi class="secno">10. </bdi>IDL Interface</h2><a class="self-link" href="#idl-interface" aria-label="Permalink for Section 10."></a></div> <p>Conforming user agents <em class="rfc2119">MUST</em> implement the following IDL interface.</p> <section id="ARIAMixin" class="normative" data-dfn-for="ARIAMixin" data-link-for="ARIAMixin"><div class="header-wrapper"><h3 id="x10-1-interface-mixin-ariamixin"><bdi class="secno">10.1 </bdi>Interface Mixin <dfn data-export="" data-dfn-type="interface" id="dom-ariamixin" data-idl="interface mixin" data-title="ARIAMixin" data-dfn-for="" tabindex="0" aria-haspopup="dialog"><code>ARIAMixin</code></dfn></h3><a class="self-link" href="#ARIAMixin" aria-label="Permalink for Section 10.1"></a></div> <pre class="idl def" id="webidl-1125957517"><span class="idlHeader"><a class="self-link" href="#webidl-1125957517">WebIDL</a></span><code><span data-idl="" class="idlInterface mixin" id="idl-def-ariamixin" data-title="ARIAMixin">interface mixin <a class="internalDFN idlID" data-link-type="interface" href="#dom-ariamixin" id="ref-for-dom-ariamixin-1"><code>ARIAMixin</code></a> {<span data-idl="" class="idlAttribute" id="idl-def-ariamixin-role" data-title="role" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-4">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-role" id="ref-for-dom-ariamixin-role-1"><code>role</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariaatomic" data-title="ariaAtomic" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-5">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariaatomic" id="ref-for-dom-ariamixin-ariaatomic-1"><code>ariaAtomic</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariaautocomplete" data-title="ariaAutoComplete" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-6">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariaautocomplete" id="ref-for-dom-ariamixin-ariaautocomplete-1"><code>ariaAutoComplete</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariabusy" data-title="ariaBusy" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-7">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariabusy" id="ref-for-dom-ariamixin-ariabusy-1"><code>ariaBusy</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariachecked" data-title="ariaChecked" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-8">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariachecked" id="ref-for-dom-ariamixin-ariachecked-1"><code>ariaChecked</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariacolcount" data-title="ariaColCount" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-9">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariacolcount" id="ref-for-dom-ariamixin-ariacolcount-1"><code>ariaColCount</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariacolindex" data-title="ariaColIndex" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-10">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariacolindex" id="ref-for-dom-ariamixin-ariacolindex-1"><code>ariaColIndex</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariacolspan" data-title="ariaColSpan" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-11">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariacolspan" id="ref-for-dom-ariamixin-ariacolspan-1"><code>ariaColSpan</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariacurrent" data-title="ariaCurrent" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-12">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariacurrent" id="ref-for-dom-ariamixin-ariacurrent-1"><code>ariaCurrent</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariadisabled" data-title="ariaDisabled" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-13">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariadisabled" id="ref-for-dom-ariamixin-ariadisabled-1"><code>ariaDisabled</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariaexpanded" data-title="ariaExpanded" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-14">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariaexpanded" id="ref-for-dom-ariamixin-ariaexpanded-1"><code>ariaExpanded</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariahaspopup" data-title="ariaHasPopup" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-15">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariahaspopup" id="ref-for-dom-ariamixin-ariahaspopup-1"><code>ariaHasPopup</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariahidden" data-title="ariaHidden" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-16">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariahidden" id="ref-for-dom-ariamixin-ariahidden-1"><code>ariaHidden</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariainvalid" data-title="ariaInvalid" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-17">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariainvalid" id="ref-for-dom-ariamixin-ariainvalid-1"><code>ariaInvalid</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariakeyshortcuts" data-title="ariaKeyShortcuts" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-18">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariakeyshortcuts" id="ref-for-dom-ariamixin-ariakeyshortcuts-1"><code>ariaKeyShortcuts</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-arialabel" data-title="ariaLabel" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-19">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-arialabel" id="ref-for-dom-ariamixin-arialabel-1"><code>ariaLabel</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-arialevel" data-title="ariaLevel" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-20">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-arialevel" id="ref-for-dom-ariamixin-arialevel-1"><code>ariaLevel</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-arialive" data-title="ariaLive" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-21">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-arialive" id="ref-for-dom-ariamixin-arialive-1"><code>ariaLive</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariamodal" data-title="ariaModal" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-22">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariamodal" id="ref-for-dom-ariamixin-ariamodal-1"><code>ariaModal</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariamultiline" data-title="ariaMultiLine" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-23">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariamultiline" id="ref-for-dom-ariamixin-ariamultiline-1"><code>ariaMultiLine</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariamultiselectable" data-title="ariaMultiSelectable" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-24">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariamultiselectable" id="ref-for-dom-ariamixin-ariamultiselectable-1"><code>ariaMultiSelectable</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariaorientation" data-title="ariaOrientation" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-25">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariaorientation" id="ref-for-dom-ariamixin-ariaorientation-1"><code>ariaOrientation</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariaplaceholder" data-title="ariaPlaceholder" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-26">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariaplaceholder" id="ref-for-dom-ariamixin-ariaplaceholder-1"><code>ariaPlaceholder</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariaposinset" data-title="ariaPosInSet" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-27">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariaposinset" id="ref-for-dom-ariamixin-ariaposinset-1"><code>ariaPosInSet</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariapressed" data-title="ariaPressed" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-28">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariapressed" id="ref-for-dom-ariamixin-ariapressed-1"><code>ariaPressed</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariareadonly" data-title="ariaReadOnly" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-29">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariareadonly" id="ref-for-dom-ariamixin-ariareadonly-1"><code>ariaReadOnly</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariarequired" data-title="ariaRequired" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-30">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariarequired" id="ref-for-dom-ariamixin-ariarequired-1"><code>ariaRequired</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariaroledescription" data-title="ariaRoleDescription" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-31">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariaroledescription" id="ref-for-dom-ariamixin-ariaroledescription-1"><code>ariaRoleDescription</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariarowcount" data-title="ariaRowCount" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-32">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariarowcount" id="ref-for-dom-ariamixin-ariarowcount-1"><code>ariaRowCount</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariarowindex" data-title="ariaRowIndex" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-33">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariarowindex" id="ref-for-dom-ariamixin-ariarowindex-1"><code>ariaRowIndex</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariarowspan" data-title="ariaRowSpan" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-34">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariarowspan" id="ref-for-dom-ariamixin-ariarowspan-1"><code>ariaRowSpan</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariaselected" data-title="ariaSelected" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-35">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariaselected" id="ref-for-dom-ariamixin-ariaselected-1"><code>ariaSelected</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariasetsize" data-title="ariaSetSize" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-36">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariasetsize" id="ref-for-dom-ariamixin-ariasetsize-1"><code>ariaSetSize</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariasort" data-title="ariaSort" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-37">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariasort" id="ref-for-dom-ariamixin-ariasort-1"><code>ariaSort</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariavaluemax" data-title="ariaValueMax" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-38">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariavaluemax" id="ref-for-dom-ariamixin-ariavaluemax-1"><code>ariaValueMax</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariavaluemin" data-title="ariaValueMin" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-39">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariavaluemin" id="ref-for-dom-ariamixin-ariavaluemin-1"><code>ariaValueMin</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariavaluenow" data-title="ariaValueNow" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-40">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariavaluenow" id="ref-for-dom-ariamixin-ariavaluenow-1"><code>ariaValueNow</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-ariamixin-ariavaluetext" data-title="ariaValueText" data-dfn-for="ARIAMixin"> attribute<span class="idlType"> <a data-link-type="idl" href="#dfn-domstring" class="internalDFN" id="ref-for-dfn-domstring-41">DOMString</a>?</span> <a class="internalDFN idlName" data-link-type="attribute" href="#dom-ariamixin-ariavaluetext" id="ref-for-dom-ariamixin-ariavaluetext-1"><code>ariaValueText</code></a>;</span> };</span></code></pre> <p>Interfaces that include <code>ARIAMixin</code> must provide the following algorithms:</p> <ul> <li><dfn id="dfn-ariamixin-getter-steps" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn"><code>ARIAMixin</code> getter steps</dfn>, which take the host interface instance, IDL attribute name, and content attribute name, and must return a string value; and</li> <li><dfn id="dfn-ariamixin-setter-steps" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn"><code>ARIAMixin</code> setter steps</dfn>, which take the host interface instance, IDL attribute name, content attribute name, and string value, and must return nothing.</li> </ul> <p>For every IDL attribute <var>idlAttribute</var> defined in <code>ARIAMixin</code>, on getting, it must perform the following steps:</p> <ol> <li><p>Let <var>contentAttribute</var> be the ARIA content attribute determined by looking up <var>idlAttribute</var> in the ARIA Attribute Correspondence table.</p></li> <li><p>Return the result of running the <a href="#dfn-ariamixin-getter-steps" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-ariamixin-getter-steps-1"><code>ARIAMixin</code> getter steps</a>, given this, <var>idlAttribute</var>, and <var>contentAttribute</var>.</p></li> </ol> <p>Similarly, on setting, it must perform the following steps:</p> <ol> <li><p>Let <var>contentAttribute</var> be the ARIA content attribute determined by looking up <var>idlAttribute</var> in the ARIA Attribute Correspondence table.</p></li> <li><p>Run the <a href="#dfn-ariamixin-setter-steps" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-ariamixin-setter-steps-1"><code>ARIAMixin</code> setter steps</a>, given this, <var>idlAttribute</var>, <var>contentAttribute</var>, and the given value.</p></li> </ol> <div class="note" role="note" id="issue-container-generatedID-81"><div role="heading" class="note-title marker" id="h-note-81" aria-level="4"><span>Note</span></div><p class="">This very general framework is motivated by the desire for different host interfaces, such as <code>Element</code> and <code>ElementInternals</code>, to give these IDL attributes different behaviors. The alternative is requiring each host interface to duplicate the IDL attributes independently, so that they can specify independent behaviors, but that comes with a high risk of them getting out of sync.</p></div> </section> <section id="accessibilityroleandproperties-correspondence" class="normative" data-dfn-for="ARIAMixin" data-link-for="ARIAMixin"><div class="header-wrapper"><h3 id="x10-2-aria-attribute-correspondence"><bdi class="secno">10.2 </bdi>ARIA Attribute Correspondence</h3><a class="self-link" href="#accessibilityroleandproperties-correspondence" aria-label="Permalink for Section 10.2"></a></div> <p>The following table provides a correspondence between IDL attribute names and content attribute names, for use by <code>ARIAMixin</code>.</p> <table> <tbody><tr><th>IDL Attribute</th><th>Reflected ARIA Content Attribute</th></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-role" data-idl="attribute" data-title="role" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="role" data-local-lt="ARIAMixin.role" tabindex="0" aria-haspopup="dialog"><code>role</code></dfn></td><td><a href="#introroles">role</a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariaatomic" data-idl="attribute" data-title="ariaAtomic" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaAtomic" data-local-lt="ARIAMixin.ariaAtomic" tabindex="0" aria-haspopup="dialog"><code>ariaAtomic</code></dfn></td><td><a href="#aria-atomic" class="property-reference"><code>aria-atomic</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariaautocomplete" data-idl="attribute" data-title="ariaAutoComplete" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaAutoComplete" data-local-lt="ARIAMixin.ariaAutoComplete" tabindex="0" aria-haspopup="dialog"><code>ariaAutoComplete</code></dfn></td><td><a href="#aria-autocomplete" class="property-reference"><code>aria-autocomplete</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariabusy" data-idl="attribute" data-title="ariaBusy" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaBusy" data-local-lt="ARIAMixin.ariaBusy" tabindex="0" aria-haspopup="dialog"><code>ariaBusy</code></dfn></td><td><a href="#aria-busy" class="state-reference"><code>aria-busy</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariachecked" data-idl="attribute" data-title="ariaChecked" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaChecked" data-local-lt="ARIAMixin.ariaChecked" tabindex="0" aria-haspopup="dialog"><code>ariaChecked</code></dfn></td><td><a href="#aria-checked" class="state-reference"><code>aria-checked</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariacolcount" data-idl="attribute" data-title="ariaColCount" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaColCount" data-local-lt="ARIAMixin.ariaColCount" tabindex="0" aria-haspopup="dialog"><code>ariaColCount</code></dfn></td><td><a href="#aria-colcount" class="property-reference"><code>aria-colcount</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariacolindex" data-idl="attribute" data-title="ariaColIndex" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaColIndex" data-local-lt="ARIAMixin.ariaColIndex" tabindex="0" aria-haspopup="dialog"><code>ariaColIndex</code></dfn></td><td><a href="#aria-colindex" class="property-reference"><code>aria-colindex</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariacolspan" data-idl="attribute" data-title="ariaColSpan" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaColSpan" data-local-lt="ARIAMixin.ariaColSpan" tabindex="0" aria-haspopup="dialog"><code>ariaColSpan</code></dfn></td><td><a href="#aria-colspan" class="property-reference"><code>aria-colspan</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariacurrent" data-idl="attribute" data-title="ariaCurrent" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaCurrent" data-local-lt="ARIAMixin.ariaCurrent" tabindex="0" aria-haspopup="dialog"><code>ariaCurrent</code></dfn></td><td><a href="#aria-current" class="state-reference"><code>aria-current</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariadisabled" data-idl="attribute" data-title="ariaDisabled" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaDisabled" data-local-lt="ARIAMixin.ariaDisabled" tabindex="0" aria-haspopup="dialog"><code>ariaDisabled</code></dfn></td><td><a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariaexpanded" data-idl="attribute" data-title="ariaExpanded" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaExpanded" data-local-lt="ARIAMixin.ariaExpanded" tabindex="0" aria-haspopup="dialog"><code>ariaExpanded</code></dfn></td><td><a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariahaspopup" data-idl="attribute" data-title="ariaHasPopup" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaHasPopup" data-local-lt="ARIAMixin.ariaHasPopup" tabindex="0" aria-haspopup="dialog"><code>ariaHasPopup</code></dfn></td><td><a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariahidden" data-idl="attribute" data-title="ariaHidden" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaHidden" data-local-lt="ARIAMixin.ariaHidden" tabindex="0" aria-haspopup="dialog"><code>ariaHidden</code></dfn></td><td><a href="#aria-hidden" class="state-reference"><code>aria-hidden</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariainvalid" data-idl="attribute" data-title="ariaInvalid" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaInvalid" data-local-lt="ARIAMixin.ariaInvalid" tabindex="0" aria-haspopup="dialog"><code>ariaInvalid</code></dfn></td><td><a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariakeyshortcuts" data-idl="attribute" data-title="ariaKeyShortcuts" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaKeyShortcuts" data-local-lt="ARIAMixin.ariaKeyShortcuts" tabindex="0" aria-haspopup="dialog"><code>ariaKeyShortcuts</code></dfn></td><td><a href="#aria-keyshortcuts" class="property-reference"><code>aria-keyshortcuts</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-arialabel" data-idl="attribute" data-title="ariaLabel" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaLabel" data-local-lt="ARIAMixin.ariaLabel" tabindex="0" aria-haspopup="dialog"><code>ariaLabel</code></dfn></td><td><a href="#aria-label" class="property-reference"><code>aria-label</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-arialevel" data-idl="attribute" data-title="ariaLevel" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaLevel" data-local-lt="ARIAMixin.ariaLevel" tabindex="0" aria-haspopup="dialog"><code>ariaLevel</code></dfn></td><td><a href="#aria-level" class="property-reference"><code>aria-level</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-arialive" data-idl="attribute" data-title="ariaLive" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaLive" data-local-lt="ARIAMixin.ariaLive" tabindex="0" aria-haspopup="dialog"><code>ariaLive</code></dfn></td><td><a href="#aria-live" class="property-reference"><code>aria-live</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariamodal" data-idl="attribute" data-title="ariaModal" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaModal" data-local-lt="ARIAMixin.ariaModal" tabindex="0" aria-haspopup="dialog"><code>ariaModal</code></dfn></td><td><a href="#aria-modal" class="property-reference"><code>aria-modal</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariamultiline" data-idl="attribute" data-title="ariaMultiLine" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaMultiLine" data-local-lt="ARIAMixin.ariaMultiLine" tabindex="0" aria-haspopup="dialog"><code>ariaMultiLine</code></dfn></td><td><a href="#aria-multiline" class="property-reference"><code>aria-multiline</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariamultiselectable" data-idl="attribute" data-title="ariaMultiSelectable" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaMultiSelectable" data-local-lt="ARIAMixin.ariaMultiSelectable" tabindex="0" aria-haspopup="dialog"><code>ariaMultiSelectable</code></dfn></td><td><a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariaorientation" data-idl="attribute" data-title="ariaOrientation" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaOrientation" data-local-lt="ARIAMixin.ariaOrientation" tabindex="0" aria-haspopup="dialog"><code>ariaOrientation</code></dfn></td><td><a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariaplaceholder" data-idl="attribute" data-title="ariaPlaceholder" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaPlaceholder" data-local-lt="ARIAMixin.ariaPlaceholder" tabindex="0" aria-haspopup="dialog"><code>ariaPlaceholder</code></dfn></td><td><a href="#aria-placeholder" class="property-reference"><code>aria-placeholder</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariaposinset" data-idl="attribute" data-title="ariaPosInSet" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaPosInSet" data-local-lt="ARIAMixin.ariaPosInSet" tabindex="0" aria-haspopup="dialog"><code>ariaPosInSet</code></dfn></td><td><a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariapressed" data-idl="attribute" data-title="ariaPressed" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaPressed" data-local-lt="ARIAMixin.ariaPressed" tabindex="0" aria-haspopup="dialog"><code>ariaPressed</code></dfn></td><td><a href="#aria-pressed" class="state-reference"><code>aria-pressed</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariareadonly" data-idl="attribute" data-title="ariaReadOnly" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaReadOnly" data-local-lt="ARIAMixin.ariaReadOnly" tabindex="0" aria-haspopup="dialog"><code>ariaReadOnly</code></dfn></td><td><a href="#aria-readonly" class="property-reference"><code>aria-readonly</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariarequired" data-idl="attribute" data-title="ariaRequired" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaRequired" data-local-lt="ARIAMixin.ariaRequired" tabindex="0" aria-haspopup="dialog"><code>ariaRequired</code></dfn></td><td><a href="#aria-required" class="property-reference"><code>aria-required</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariaroledescription" data-idl="attribute" data-title="ariaRoleDescription" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaRoleDescription" data-local-lt="ARIAMixin.ariaRoleDescription" tabindex="0" aria-haspopup="dialog"><code>ariaRoleDescription</code></dfn></td><td><a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariarowcount" data-idl="attribute" data-title="ariaRowCount" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaRowCount" data-local-lt="ARIAMixin.ariaRowCount" tabindex="0" aria-haspopup="dialog"><code>ariaRowCount</code></dfn></td><td><a href="#aria-rowcount" class="property-reference"><code>aria-rowcount</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariarowindex" data-idl="attribute" data-title="ariaRowIndex" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaRowIndex" data-local-lt="ARIAMixin.ariaRowIndex" tabindex="0" aria-haspopup="dialog"><code>ariaRowIndex</code></dfn></td><td><a href="#aria-rowindex" class="property-reference"><code>aria-rowindex</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariarowspan" data-idl="attribute" data-title="ariaRowSpan" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaRowSpan" data-local-lt="ARIAMixin.ariaRowSpan" tabindex="0" aria-haspopup="dialog"><code>ariaRowSpan</code></dfn></td><td><a href="#aria-rowspan" class="property-reference"><code>aria-rowspan</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariaselected" data-idl="attribute" data-title="ariaSelected" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaSelected" data-local-lt="ARIAMixin.ariaSelected" tabindex="0" aria-haspopup="dialog"><code>ariaSelected</code></dfn></td><td><a href="#aria-selected" class="state-reference"><code>aria-selected</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariasetsize" data-idl="attribute" data-title="ariaSetSize" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaSetSize" data-local-lt="ARIAMixin.ariaSetSize" tabindex="0" aria-haspopup="dialog"><code>ariaSetSize</code></dfn></td><td><a href="#aria-setsize" class="property-reference"><code>aria-setsize</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariasort" data-idl="attribute" data-title="ariaSort" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaSort" data-local-lt="ARIAMixin.ariaSort" tabindex="0" aria-haspopup="dialog"><code>ariaSort</code></dfn></td><td><a href="#aria-sort" class="property-reference"><code>aria-sort</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariavaluemax" data-idl="attribute" data-title="ariaValueMax" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaValueMax" data-local-lt="ARIAMixin.ariaValueMax" tabindex="0" aria-haspopup="dialog"><code>ariaValueMax</code></dfn></td><td><a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariavaluemin" data-idl="attribute" data-title="ariaValueMin" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaValueMin" data-local-lt="ARIAMixin.ariaValueMin" tabindex="0" aria-haspopup="dialog"><code>ariaValueMin</code></dfn></td><td><a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariavaluenow" data-idl="attribute" data-title="ariaValueNow" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaValueNow" data-local-lt="ARIAMixin.ariaValueNow" tabindex="0" aria-haspopup="dialog"><code>ariaValueNow</code></dfn></td><td><a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a></td></tr> <tr><td><dfn data-export="" data-dfn-type="attribute" id="dom-ariamixin-ariavaluetext" data-idl="attribute" data-title="ariaValueText" data-dfn-for="ARIAMixin" data-type="DOMString" data-lt="ariaValueText" data-local-lt="ARIAMixin.ariaValueText" tabindex="0" aria-haspopup="dialog"><code>ariaValueText</code></dfn></td><td><a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a></td></tr> </tbody></table> <div class="note" role="note" id="issue-container-generatedID-82"><div role="heading" class="note-title marker" id="h-note-82" aria-level="4"><span>Note</span></div><p class="">Note: Attributes <a href="#aria-dropeffect" class="property-reference"><code>aria-dropeffect</code></a> and <a href="#aria-grabbed" class="state-reference"><code>aria-grabbed</code></a> were deprecated in ARIA 1.1 and do not have corresponding IDL attributes.</p></div> <section class="informative" id="idl_attr_disambiguation"><div class="header-wrapper"><h4 id="x10-2-1-disambiguation-pattern"><bdi class="secno">10.2.1 </bdi>Disambiguation Pattern</h4><a class="self-link" href="#idl_attr_disambiguation" aria-label="Permalink for Section 10.2.1"></a></div><p><em>This section is non-normative.</em></p> <p>Though specification authors may make exceptions to this pattern, the following rules were used to disambiguate names and case of the IDL attributes listed above.</p> <ul> <li>Any attribute name referencing concepts that are combinations of two or more words (such as "described by") becomes a camel-cased IDL attribute capitalizing each word boundary. For example, <a href="#aria-describedby" class="property-reference"><code>aria-describedby</code></a> becomes <code>ariaDescribedBy</code> with both the D and B capitalized.</li> <li>Likewise, any attribute name referencing concepts that can be hyphenated (such as "multi-selectable") becomes a camel-cased IDL attribute capitalizing each hyphenation boundary. For example, the only valid spelling for "multi-selectable" is hyphenated, so <a href="#aria-multiselectable" class="property-reference"><code>aria-multiselectable</code></a> becomes <code>ariaMultiSelectable</code> with both the M and S capitalized.</li> <li>When trusted dictionary sources list both hyphenated or non-hyphenated spellings (e.g. "multi-line" and "multiline" are both valid spellings) use the hyphenated version and apply the hyphenation rule above. For example, <a href="#aria-multiline" class="property-reference"><code>aria-multiline</code></a> becomes <code>ariaMultiLine</code> with both the M and L capitalized.</li> <li>If all trusted dictionary sources list a single spelling of a compound word with no spaces or hyphens, only the first letter of the term is capitalized. For example, neither “place-holder” nor “place holder” are considered valid spellings of the term “placeholder,” so <a href="#aria-placeholder" class="property-reference"><code>aria-placeholder</code></a> becomes <code>ariaPlaceholder</code> with only the P capitalized.</li> <li>There are currently no acronym-based ARIA attributes, but if future attributes include acronym usage, attempt to match existing <abbr title="Document Object Model">DOM</abbr> conventions (e.g. ID becomes Id).</li> </ul> </section> <section class="informative" id="idl_attr_exceptions"><div class="header-wrapper"><h4 id="x10-2-2-idl-attribute-name-notes-or-exceptions"><bdi class="secno">10.2.2 </bdi>IDL Attribute Name Notes or Exceptions</h4><a class="self-link" href="#idl_attr_exceptions" aria-label="Permalink for Section 10.2.2"></a></div><p><em>This section is non-normative.</em></p> <p>Any notes or exceptions for specific attribute names will be listed here.</p> <ul> <li><code>ariaPosInSet</code>: The <a href="#aria-posinset" class="property-reference"><code>aria-posinset</code></a> attribute refers to an item's position in a set (two words: "in set") rather than the "inset" of an item from the beginning of the collection. Therefore the IDL attribute name is <code>ariaPosInSet</code> with the P, I, and second S capitalized, <em>not</em> <code>ariaPosInset</code>.</li> </ul> </section> </section> <section id="idl_element"><div class="header-wrapper"><h3 id="x10-3-ariamixin-mixed-in-to-element"><bdi class="secno">10.3 </bdi><code>ARIAMixin</code> Mixed in to <code>Element</code></h3><a class="self-link" href="#idl_element" aria-label="Permalink for Section 10.3"></a></div> <p>User agents <em class="rfc2119">MUST</em> include <code>ARIAMixin</code> on <code>Element</code>:</p> <pre class="idl def" id="webidl-708756852"><span class="idlHeader"><a class="self-link" href="#webidl-708756852">WebIDL</a></span><code><span class="idlIncludes"><a data-link-type="idl" href="#dfn-element" class="internalDFN" id="ref-for-dfn-element-109">Element</a> includes <a data-link-type="idl" href="#dom-ariamixin" class="internalDFN" id="ref-for-dom-ariamixin-2"><code>ARIAMixin</code></a>;</span></code></pre> <p>For <code>Element</code>:</p> <ul> <li><p>The <a href="#dfn-ariamixin-getter-steps" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-ariamixin-getter-steps-2"><code>ARIAMixin</code> getter steps</a> given <var>element</var>, <var>idlAttribute</var>, and <var>contentAttribute</var> are to return the result of the getter algorithm for <var>idlAttribute</var> <a href="https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#reflect">reflecting</a> <var>contentAttribute</var> on <var>element</var>.</p></li> <li><p>The <a href="#dfn-ariamixin-setter-steps" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-ariamixin-setter-steps-2"><code>ARIAMixin</code> setter steps</a> given <var>element</var>, <var>idlAttribute</var>, <var>contentAttribute</var>, and <var>value</var> are to perform the setter algorithm for <var>idlAttribute</var> <a href="https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#reflect">reflecting</a> <var>contentAttribute</var> on <var>element</var>, given <var>value</var>.</p></li> </ul> <div class="note" role="note" id="issue-container-generatedID-83"><div role="heading" class="note-title marker" id="h-note-83" aria-level="4"><span>Note</span></div><p class="">In practice, this means that, e.g., the <code>role</code> IDL on <code>Element</code> reflects the <code>role</code> content attribute; the <code>ariaValueMin</code> IDL attribute reflects the <code>aria-valuemin</code> content attribute; etc.</p></div> </section> <section class="informative" id="idl_example_usage"><div class="header-wrapper"><h3 id="x10-4-example-idl-attribute-usage"><bdi class="secno">10.4 </bdi>Example IDL Attribute Usage</h3><a class="self-link" href="#idl_example_usage" aria-label="Permalink for Section 10.4"></a></div><p><em>This section is non-normative.</em></p> <p>The primary purpose of ARIA IDL attribute reflection is to ease JavaScript-based manipulation of values. The following examples demonstrate its usage.</p> <aside class="example" id="example-34"><div class="marker"> <a class="self-link" href="#example-34">Example<bdi> 34</bdi></a> </div> <pre aria-busy="false"><code class="hljs xml"><span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"inaccessibleButton"</span>></span> <span class="hljs-comment"><!-- Use semantic markup instead. This is just a retrofit example. --></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></code></pre> <pre aria-busy="false"><code class="hljs javascript"><span class="hljs-comment">// Get a reference to the element.</span> <span class="hljs-keyword">let</span> el = <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">'inaccessibleButton'</span>); el.tabIndex = <span class="hljs-number">0</span>; <span class="hljs-comment">// Make it focusable.</span> <span class="hljs-comment">// Set the role and label.</span> el.role = <span class="hljs-string">"button"</span>; el.ariaLabel = <span class="hljs-string">"Edit"</span>; <span class="hljs-comment">// Get the role and label.</span> el.role; <span class="hljs-comment">// Returns "button"</span> el.ariaLabel; <span class="hljs-comment">// Returns "Edit"</span> <span class="hljs-comment">// These are interchangeable with the more verbose setAttribute and getAttribute methods.</span> el.setAttribute(<span class="hljs-string">"role"</span>, <span class="hljs-string">"button"</span>); el.setAttribute(<span class="hljs-string">"aria-label"</span>, <span class="hljs-string">"Edit"</span>); el.getAttribute(<span class="hljs-string">"role"</span>); <span class="hljs-comment">// Returns "button"</span> el.getAttribute(<span class="hljs-string">"aria-label"</span>); <span class="hljs-comment">// Returns "Edit"</span> <span class="hljs-comment">// Changes via either interface are reflected by the other.</span> el.setAttribute(<span class="hljs-string">"aria-label"</span>, <span class="hljs-string">"Delete"</span>); el.ariaLabel; <span class="hljs-comment">// Returns "Delete"</span> el.ariaLabel = <span class="hljs-string">"Publish"</span>; el.getAttribute(<span class="hljs-string">"aria-label"</span>); <span class="hljs-comment">// Returns "Publish"</span></code></pre> </aside> </section> </section> <section class="informative" id="privacy-and-security-considerations"><div class="header-wrapper"><h2 id="x11-privacy-and-security-considerations"><bdi class="secno">11. </bdi>Privacy and Security Considerations</h2><a class="self-link" href="#privacy-and-security-considerations" aria-label="Permalink for Section 11."></a></div><p><em>This section is non-normative.</em></p> <p>This specification introduces no new security considerations.</p> <p>In accordance with <a href="https://w3ctag.github.io/design-principles/#do-not-expose-use-of-assistive-tech">Web Platform Design Principles</a>, this specification provides no programatic interface to determine if information is being used by Assistive Technologies. However, this specificaton does allow an author to present different information to users of Assistive Technologies from the information available to users who do not use Assistive Technologies. This is possible using many features of the ARIA specification, just as this is possible using many other parts of the web technology stack. This content disparity could be abused to perform <a href="https://www.w3.org/TR/fingerprinting-guidance/#active-0">active fingerprinting</a> of users of Assistive Technologies.</p> </section> <section class="informative appendix" id="typemapping"><div class="header-wrapper"><h2 id="a-mapping-wai-aria-value-types-to-languages"><bdi class="secno">A. </bdi>Mapping <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> Value types to languages</h2><a class="self-link" href="#typemapping" aria-label="Permalink for Appendix A."></a></div><p><em>This section is non-normative.</em></p> <div class="note" role="note" id="issue-container-generatedID-84"><div role="heading" class="note-title marker" id="h-note-84" aria-level="3"><span>Note</span></div><p class="">The <abbr title="Hypertext Markup Language">HTML</abbr> column of the table below is advisory. Guidance on use of <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> state and properties in <abbr title="Hypertext Markup Language">HTML</abbr> is provided in <a href="https://www.w3.org/TR/html-aria/#document-conformance-requirements-for-use-of-aria-attributes-in-html">Allowed ARIA roles, states and properties </a> ([<cite><a class="bibref" data-link-type="biblio" href="#bib-html-aria" title="ARIA in HTML">HTML-ARIA</a></cite>].</p></div> <div class="note" role="note" id="issue-container-generatedID-85"><div role="heading" class="note-title marker" id="h-note-85" aria-level="3"><span>Note</span></div><p class="">The suggested mappings for true/false values in <abbr title="Hypertext Markup Language">HTML</abbr> use <a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#keywords-and-enumerated-attributes">Keyword and enumerated attributes</a> with allowed values of <code>true</code> and <code>false</code>, instead of using the <abbr title="Hypertext Markup Language">HTML</abbr> boolean value type. </p></div> <p>The table below provides recommended mappings between <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> state and property types and attribute types from [<cite><a class="bibref" data-link-type="biblio" href="#bib-html" title="HTML Standard">HTML</a></cite>], <cite><a href="https://www.w3.org/TR/xmlschema11-2/"><abbr title="Extensible Markup Language">XML</abbr> Schema Datatypes</a></cite> [<cite><a class="bibref" data-link-type="biblio" href="#bib-xmlschema11-2" title="W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes">XMLSCHEMA11-2</a></cite>], [<cite><a class="bibref" data-link-type="biblio" href="#bib-svg2" title="Scalable Vector Graphics (SVG) 2">SVG2</a></cite>], and SGML.</p> <p>Languages not listed below might have appropriate value types defined in the language. If they do not, we recommend <abbr title="Extensible Markup Language">XML</abbr> Schema Datatypes for general purpose <abbr title="Extensible Markup Language">XML</abbr> languages. Documents using DTDs instead of schemas will not be able to validate automatically and require additional processing on <abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> attributes.</p> <table> <tbody><tr> <th scope="col"><abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> type</th> <th scope="col"><abbr title="Hypertext Markup Language">HTML</abbr></th> <th scope="col"><abbr title="Extensible Markup Language">XML</abbr> Schema</th> </tr> <tr> <td>true/false</td> <td><a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#keywords-and-enumerated-attributes">Keyword and enumerated attributes</a> with allowed values of "true" and "false"</td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#boolean">boolean</a></td> </tr> <tr> <td>true/false/undefined</td> <td><a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#keywords-and-enumerated-attributes">Keyword and enumerated attributes</a> with allowed values of <code>true</code>, <code>false</code>, and <code>undefined</code></td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#NMTOKEN">NMTOKEN</a> with an <a href="https://www.w3.org/TR/xmlschema11-2/#NMTOKEN">enumeration constraint</a> allowing values of <code>true</code>, <code>false</code>, and <code>undefined</code></td> </tr> <tr> <td>tristate</td> <td><a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#keywords-and-enumerated-attributes">Keyword and enumerated attributes</a> with allowed values of "true", "false", and "mixed"</td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#NMTOKEN">NMTOKEN</a> with an <a href="https://www.w3.org/TR/xmlschema11-2/#NMTOKEN">enumeration constraint</a> allowing values of "true", "false", and "mixed"</td> </tr> <tr> <td>number</td> <td><a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#floating-point-numbers">Floating-point numbers</a></td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#decimal">decimal</a></td> </tr> <tr> <td>integer</td> <td><a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#floating-point-numbers">Non-negative integer</a></td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#integer">integer</a></td> </tr> <tr> <td>token</td> <td><a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#keywords-and-enumerated-attributes">Keyword and enumerated attributes</a></td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#NMTOKEN">NMTOKEN</a> with an <a href="https://www.w3.org/TR/xmlschema11-2/#NMTOKEN">enumeration constraint</a> allowing values listed in the state or property definition</td> </tr> <tr> <td>token list</td> <td><a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#space-separated-tokens">Space-separated tokens</a></td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#NMTOKENS">NMTOKENS</a> with an <a href="https://www.w3.org/TR/xmlschema11-2/#NMTOKEN">enumeration constraint</a> allowing values listed in the state or property definition</td> </tr> <tr> <td>ID reference</td> <td>The value of a defined <a href="https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute">id attribute</a> on another element</td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#IDREF">IDREF</a></td> </tr> <tr> <td>ID reference list</td> <td>The value of one or more defined <a href="https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute">id attributes</a> on other element(s), represented as <a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#space-separated-tokens">Space-separated tokens</a></td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#IDREFS">IDREFS</a></td> </tr> <tr> <td>string</td> <td>No value constraints</td> <td><a href="https://www.w3.org/TR/xmlschema11-2/#string">string</a></td> </tr> </tbody></table> </section> <section class="appendix" id="changelog"><div class="header-wrapper"><h2 id="b-substantive-changes-since-the-wai-aria-1-1-recommendation"><bdi class="secno">B. </bdi>Substantive changes since the <a href="https://www.w3.org/TR/wai-aria-1.1/"><abbr title="Accessible Rich Internet Application">WAI-ARIA</abbr> 1.1 Recommendation</a></h2><a class="self-link" href="#changelog" aria-label="Permalink for Appendix B."></a></div> <ul> <li>16-Feb-2023: Resolved At-Risk items from CR</li> <li>16-Feb-2023: Reverted <a href="#spinbutton" class="role-reference"><code>spinbutton</code></a>: Change the default value of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> from <code>0</code> to "there is no current value." Also add <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> as a supported property.</li> <li>17-Sep-2021: Revised IDL and enumerated attribute section to reflect implementations</li> <li>30-Aug-2021: removed ariaDescription from IDL section as was added erroneously</li> <li>14-May-2021: Added Privacy and Security Considerations section</li> <li>05-May-2021: clarify accessible name prohibited definition</li> <li>10-Feb-2021: clarify including elements in accessibility tree to only require elements when actually focused</li> <li>08-Sep-2020: remove <a href="#aria-level" class="property-reference"><code>aria-level</code></a> from <a href="#tablist" class="role-reference"><code>tablist</code></a></li> <li>08-Sep-2020: Remove contents as a supported name source for <a href="#rowgroup" class="role-reference"><code>rowgroup</code></a>.</li> <li>08-Sep-2020: prohibit <a href="#aria-roledescription" class="property-reference"><code>aria-roledescription</code></a> on <a href="#generic" class="role-reference"><code>generic</code></a></li> <li>08-Sep-2020: Require user agents to expose a value for <a href="#combobox" class="role-reference"><code>combobox</code></a> elements</li> <li>08-Sep-2020: Remove multiple inheritance from <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a> and <a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a></li> <li>08-Sep-2020: Add missing implicit value for <a href="#progressbar" class="role-reference"><code>progressbar</code></a></li> <li>27-Jul-2020: Update to define owned and container for</li> <li>10-Jul-2020: Re-add <a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> on links</li> <li>15-May-2020: Remove nullable from IDL <a href="#dfn-domstring" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-domstring-42">DOMString</a>s, add enumerated attributes prose and examples, and remove ariaRelevant IDL until Issue #1267 can be resolved.</li> <li>07-May-2020: Deprecate <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a>, <a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a>, <a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> and <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> as globals rather than removing them.</li> <li>03-Apr-2020: Clarify default values</li> <li>03-Apr-2020: Revise <a href="#meter" class="role-reference"><code>meter</code></a> authoring advice</li> <li>26-Mar-2020: remove recommendation to use <code>role="none presentation"</code></li> <li>26-Mar-2020: Add info about layout and bounds to <a href="#generic" class="role-reference"><code>generic</code></a></li> <li>03-Mar-2020: Clean up of Presentational roles conflict resolution section</li> <li>20-Feb-2020: Update <a href="#combobox" class="role-reference"><code>combobox</code></a> to remove aria-multiline reference</li> <li>01-Nov-2019: Modify <a href="#combobox" class="role-reference"><code>combobox</code></a> to new ARIA 1.2 pattern.</li> <li>25-Oct-2019: Modify <a href="#caption" class="role-reference"><code>caption</code></a> authoring advice</li> <li>25-Oct-2019: Change <a href="#aria-disabled" class="state-reference"><code>aria-disabled</code></a>, <a href="#aria-errormessage" class="property-reference"><code>aria-errormessage</code></a>, <a href="#aria-haspopup" class="property-reference"><code>aria-haspopup</code></a> and <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> from global to widget specific.</li> <li>24-Oct-2019: Prohibits Labeling of <a href="#caption" class="role-reference"><code>caption</code></a>, <a href="#code" class="role-reference"><code>code</code></a>, <a href="#deletion" class="role-reference"><code>deletion</code></a>, <a href="#emphasis" class="role-reference"><code>emphasis</code></a>, <a href="#insertion" class="role-reference"><code>insertion</code></a>, <a href="#paragraph" class="role-reference"><code>paragraph</code></a>, <a href="#presentation" class="role-reference"><code>presentation</code></a>, <a href="#strong" class="role-reference"><code>strong</code></a>, <a href="#subscript" class="role-reference"><code>subscript</code></a>, <a href="#superscript" class="role-reference"><code>superscript</code></a></li> <li>24-Oct-2019: Remove accessible name required from <a href="#log" class="role-reference"><code>log</code></a> and <a href="#timer" class="role-reference"><code>timer</code></a></li> <li>24-Oct-2019: Allow group as child of <a href="#listbox" class="role-reference"><code>listbox</code></a></li> <li>24-Oct-2019: Add <a href="#code" class="role-reference"><code>code</code></a> role</li> <li>24-Oct-2019: Add <a href="#time" class="role-reference"><code>time</code></a> role</li> <li>24-Oct-2019: Add <a href="#subscript" class="role-reference"><code>subscript</code></a> and <a href="#superscript" class="role-reference"><code>superscript</code></a> roles</li> <li>24-Oct-2019: Add <a href="#meter" class="role-reference"><code>meter</code></a> role</li> <li>23-Oct-2019: Resolve inconsistencies around group ownership of <a href="#menuitem" class="role-reference"><code>menuitem</code></a>, <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a> and <a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a>.</li> <li>23-Oct-2019: Add <a href="#generic" class="role-reference"><code>generic</code></a> role</li> <li>22-Oct-2019: Clarify use of <a href="#alertdialog" class="role-reference"><code>alertdialog</code></a> and <a href="#alert" class="role-reference"><code>alert</code></a> roles</li> <li>22-Oct-2019: Add <a href="#insertion" class="role-reference"><code>insertion</code></a> and <a href="#deletion" class="role-reference"><code>deletion</code></a> roles</li> <li>18-Oct-2019: Remove references to taxonomy file</li> <li>18-Oct-2019: Remove implicit value from <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> on <a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li>17-Oct-2019: Add <a href="#strong" class="role-reference"><code>strong</code></a> and <a href="#emphasis" class="role-reference"><code>emphasis</code></a> roles</li> <li>11-Oct-2019: Deprecate <a href="#directory" class="role-reference"><code>directory</code></a> role</li> <li>11-Oct-2019: Make <a href="#form" class="role-reference"><code>form</code></a> role accessible name required true</li> <li>11-Oct-2019: Remove allowance of <a href="#group" class="role-reference"><code>group</code></a> in <a href="#list" class="role-reference"><code>list</code></a></li> <li>04-Sep-2019: Add <a href="#aria-required" class="property-reference"><code>aria-required</code></a> as a supported property of <a href="#checkbox" class="role-reference"><code>checkbox</code></a></li> <li>04-Sep-2019: Allow <a href="#aria-posinset" class="state-reference"><code>aria-posinset</code></a> and <a href="#aria-setsize" class="state-reference"><code>aria-setsize</code></a> on <a href="#row" class="role-reference"><code>row</code></a> when used in a <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</li> <li>04-Sep-2019: Add <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> support to <a href="#application" class="role-reference"><code>application</code></a> and <a href="#checkbox" class="role-reference"><code>checkbox</code></a> roles.</li> <li>04-Sep-2019: Remove <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> support from the following roles: <a href="#alert" class="role-reference"><code>alert</code></a>, <a href="#alertdialog" class="role-reference"><code>alertdialog</code></a>, <a href="#article" class="role-reference"><code>article</code></a>, <a href="#banner" class="role-reference"><code>banner</code></a>, <a href="#blockquote" class="role-reference"><code>blockquote</code></a>, <a href="#caption" class="role-reference"><code>caption</code></a>, <a href="#cell" class="role-reference"><code>cell</code></a>, <a href="#complementary" class="role-reference"><code>complementary</code></a>, <a href="#contentinfo" class="role-reference"><code>contentinfo</code></a>, <a href="#definition" class="role-reference"><code>definition</code></a>, <a href="#deletion" class="role-reference"><code>deletion</code></a>, <a href="#dialog" class="role-reference"><code>dialog</code></a>, <a href="#directory" class="role-reference"><code>directory</code></a>, <a href="#feed" class="role-reference"><code>feed</code></a>, <a href="#figure" class="role-reference"><code>figure</code></a>, <a href="#form" class="role-reference"><code>form</code></a>, <a href="#grid" class="role-reference"><code>grid</code></a>, <a href="#group" class="role-reference"><code>group</code></a>, <a href="#heading" class="role-reference"><code>heading</code></a>, <a href="#img" class="role-reference"><code>img</code></a>, <a href="#insertion" class="role-reference"><code>insertion</code></a>, <a href="#landmark" class="role-reference"><code>landmark</code></a>, <a href="#list" class="role-reference"><code>list</code></a>, <a href="#listitem" class="role-reference"><code>listitem</code></a>, <a href="#log" class="role-reference"><code>log</code></a>, <a href="#main" class="role-reference"><code>main</code></a>, <a href="#marquee" class="role-reference"><code>marquee</code></a>, <a href="#math" class="role-reference"><code>math</code></a>, <a href="#menu" class="role-reference"><code>menu</code></a>, <a href="#menubar" class="role-reference"><code>menubar</code></a>, <a href="#navigation" class="role-reference"><code>navigation</code></a>, <a href="#note" class="role-reference"><code>note</code></a>, <a href="#paragraph" class="role-reference"><code>paragraph</code></a>, <a href="#radiogroup" class="role-reference"><code>radiogroup</code></a>, <a href="#region" class="role-reference"><code>region</code></a>, <a href="#search" class="role-reference"><code>search</code></a>, <a href="#select" class="role-reference"><code>select</code></a>, <a href="#status" class="role-reference"><code>status</code></a>, <a href="#subscript" class="role-reference"><code>subscript</code></a>, <a href="#superscript" class="role-reference"><code>superscript</code></a>, <a href="#table" class="role-reference"><code>table</code></a>, <a href="#tabpanel" class="role-reference"><code>tabpanel</code></a>, <a href="#term" class="role-reference"><code>term</code></a>, <a href="#time" class="role-reference"><code>time</code></a>, <a href="#timer" class="role-reference"><code>timer</code></a>, <a href="#toolbar" class="role-reference"><code>toolbar</code></a>, <a href="#tooltip" class="role-reference"><code>tooltip</code></a>, <a href="#tree" class="role-reference"><code>tree</code></a>, <a href="#treegrid" class="role-reference"><code>treegrid</code></a>.</li> <li>04-Sep-2019: Remove children-presentational=true from <a href="#math" class="role-reference"><code>math</code></a> role</li> <li>22-Aug-2019: Remove <a href="#aria-level" class="property-reference"><code>aria-level</code></a> from <a href="#grid" class="role-reference"><code>grid</code></a></li> <li>23-Jul-2019: Add <a href="#generic" class="role-reference"><code>generic</code></a> role</li> <li>11-Jul-2019: Remove advice against changing roles</li> <li>11-Jul-2019: Set Accessible Name Required to false on <a href="#gridcell" class="role-reference"><code>gridcell</code></a></li> <li>04-Jun-2019: Make <a href="#aria-valuemin" class="property-reference"><code>aria-valuemin</code></a> and <a href="#aria-valuemax" class="property-reference"><code>aria-valuemax</code></a> supported, rather than required, properties of focusable <a href="#separator" class="role-reference"><code>separator</code></a>, <a href="#slider" class="role-reference"><code>slider</code></a>, and <a href="#scrollbar" class="role-reference"><code>scrollbar</code></a>. Make <a href="#aria-orientation" class="property-reference"><code>aria-orientation</code></a> a supported, rather than required, property of <a href="#scrollbar" class="role-reference"><code>scrollbar</code></a>.</li> <li>27-Mar-2019: Add Translatable States and Properties Section</li> <li>31-Jan-2019: Change the superclass of <a href="#range" class="role-reference"><code>range</code></a> from widget to structure.</li> <li>23-Jan-2019: Removed Default value of <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> from <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a> and <a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a> roles</li> <li>09-Jan-2019: Removed Default value of <a href="#aria-checked" class="state-reference"><code>aria-checked</code></a> from <a href="#switch" class="role-reference"><code>switch</code></a> and <a href="#checkbox" class="role-reference"><code>checkbox</code></a> roles</li> <li>05-Oct-2018: Role <a href="#spinbutton" class="role-reference"><code>spinbutton</code></a>: Change the default value of <a href="#aria-valuenow" class="property-reference"><code>aria-valuenow</code></a> from <code>0</code> to "there is no current value." Also add <a href="#aria-valuetext" class="property-reference"><code>aria-valuetext</code></a> as a supported property.</li> <li>05-Oct-2018: Role <a href="#spinbutton" class="role-reference"><code>spinbutton</code></a>: allow empty values, no min, no max, and structure with sibling steppers</li> <li>21-Aug-2018: Correct normative language in <a href="#rowheader" class="role-reference"><code>rowheader</code></a> to be consistent with required states and properties.</li> <li>21-Jun-2018: Allow <a href="#group" class="role-reference"><code>group</code></a> as child of <a href="#listbox" class="role-reference"><code>listbox</code></a>.</li> <li>31-May-2018: Add <a href="#blockquote" class="role-reference"><code>blockquote</code></a>, <a href="#caption" class="role-reference"><code>caption</code></a>, and <a href="#paragraph" class="role-reference"><code>paragraph</code></a> roles.</li> <li>01-Apr-2018: Added ARIA IDL Section (JavaScript interfaces).</li> <li>06-Dec-2017: Make <a href="#aria-expanded" class="state-reference"><code>aria-expanded</code></a> a supported state of <a href="#menuitem" class="role-reference"><code>menuitem</code></a>. This change also makes it a supported property of <a href="#menuitemcheckbox" class="role-reference"><code>menuitemcheckbox</code></a> and <a href="#menuitemradio" class="role-reference"><code>menuitemradio</code></a> via inheritance.</li> <li>06-Dec-2017: When aria-errormessage is not pertinent, authors <em class="rfc2119">MUST</em> either ensure the content is not rendered or remove the aria-errormessage attribute or its value. User agents <em class="rfc2119">MUST NOT</em> expose <code>aria-errormessage</code> for an object with an <a href="#aria-invalid" class="state-reference"><code>aria-invalid</code></a> value of <code>false</code>.</li> </ul> </section> <section class="appendix informative section" id="acknowledgements"><div class="header-wrapper"><h2 id="c-acknowledgments"><bdi class="secno">C. </bdi>Acknowledgments</h2><a class="self-link" href="#acknowledgements" aria-label="Permalink for Appendix C."></a></div><p><em>This section is non-normative.</em></p> <p>The following people contributed to the development of this document.</p> <section class="section" id="ack_group"><div class="header-wrapper"><h3 id="c-1-participants-active-in-the-aria-wg-at-the-time-of-publication"><bdi class="secno">C.1 </bdi>Participants active in the ARIA WG at the time of publication</h3><a class="self-link" href="#ack_group" aria-label="Permalink for Appendix C.1"></a></div> <ul> <li>Sina Bahram (Invited Expert)</li> <li>Curt Bellew (Oracle Corporation)</li> <li>Zoë Bijl (Invited Expert)</li> <li>Shari Butler (Pearson plc)</li> <li>Dominic Cooney (Meta)</li> <li>Michael Cooper (<abbr title="World Wide Web Consortium">W3C</abbr> Staff)</li> <li>James Craig (Apple Inc.) </li> <li>Joanmarie Diggs (Igalia)</li> <li>Isaac Durazo (Bocoup)</li> <li>Howard Edwards (Bocoup)</li> <li>Frank Elavsky (Invited Expert)</li> <li>Mayuri Faldu (Navy Federal Credit Union)</li> <li>Steve Faulkner (TPGi) </li> <li>Reinaldo Ferraz (NIC.br)</li> <li>Alexander Flenniken (Bocoup)</li> <li>Bryan Garaventa (Level Access)</li> <li>Rashmi Garimella (Google LLC)</li> <li>Matt Garrish (DAISY Consortium)</li> <li>Jaunita George (Navy Federal Credit Union)</li> <li>Ariella Gilmore (IBM Corporation)</li> <li>Raghavendra Giriyappa (IBM Corporation)</li> <li>Michael Goddard (Bocoup)</li> <li>Glen Gordon (TPGi)</li> <li>Shirisha Gubba (Google LLC)</li> <li>Jon Gunderson (University of Illinois at Urbana-Champaign)</li> <li>Markku Hakkinen (Educational Testing Service)</li> <li>Sarah Higley (Microsoft Corporation)</li> <li>Hans Hillen (TPGi)</li> <li>Isabel Holdsworth (TPGi)</li> <li>Stanley Hon (Microsoft Corporation)</li> <li>Patrick Hung (University of Ontario Institute of Technology)</li> <li>Matthew King (Meta)</li> <li>Greta Krafsig (The Washington Post)</li> <li>Peter Krautzberger (Invited Expert)</li> <li>JaEun Jemma Ku (University of Illinois at Urbana-Champaign)</li> <li>Christopher Lane (VMWare)</li> <li>Charles LaPierre (Benetech)</li> <li>Gez Lemon (TPGi)</li> <li>Aaron Leventhal (Google LLC)</li> <li>Brian Liu Xu (Microsoft Corporation)</li> <li>David MacDonald (Invited Expert)</li> <li>Carolyn MacLeod (IBM Corporation)</li> <li>Mark McCarthy (University of Illinois at Urbana-Champaign)</li> <li>Jan McSorley (Pearson plc)</li> <li>Erika Miguel (Bocoup)</li> <li>Daniel Montalvo (<abbr title="World Wide Web Consortium">W3C</abbr>)</li> <li>Sheila Moussavi (Bocoup)</li> <li>James Nurthen (Adobe) </li> <li>Scott O'Hara (Microsoft Corporation)</li> <li>Adam Page (Intel Corporation)</li> <li>Michael Pennisi (Bocoup)</li> <li>Roberto Perez (Microsoft Corporation)</li> <li>Janina Sajka (Invited Expert, The Linux Foundation)</li> <li>Trish Salas (Level Access)</li> <li>Stefan Schnabel (SAP SE) </li> <li>Harris Schneiderman (Deque Systems, Inc.)</li> <li>Boaz Sender (Bocoup)</li> <li>Cynthia Shelly (Google LLC)</li> <li>Tzviya Siegman (Wiley)</li> <li>Avneesh Singh (DAISY Consortium)</li> <li>Neil Soiffer (Invited Expert)</li> <li>Francis Storr (Intel Corporation)</li> <li>Melanie Sumner (Invited Expert)</li> <li>Alexander Surkov (Igalia)</li> <li>James Teh (Mozilla Foundation)</li> <li>Seth Thompson (Bocoup)</li> <li>Jan Williams (TPGi)</li> <li>Benjamin Young (Wiley)</li> <li>Valerie Young (Igalia)</li> <li>Helen Zhou (University of Illinois)</li> <li>骅 杨 (Shenzhen Accessibiltiy Research Association)</li> </ul> </section> <section class="section" id="ack_others"><div class="header-wrapper"><h3 id="c-2-other-aria-contributors-commenters-and-previously-active-participants"><bdi class="secno">C.2 </bdi>Other ARIA contributors, commenters, and previously active participants</h3><a class="self-link" href="#ack_others" aria-label="Permalink for Appendix C.2"></a></div> <ul> <li>Ann Abbott (Invited Expert)</li> <li>Shadi Abou-Zahra (<abbr title="World Wide Web Consortium">W3C</abbr>)</li> <li>Irfan Ali (Educational Testing Service)</li> <li>Jim Allan (TSB)</li> <li>CB Averitt (Deque Systems, Inc)</li> <li>Jonny Axelsson (Opera Software)</li> <li>David Baron (Mozilla Foundation)</li> <li>Art Barstow (Nokia Corporation)</li> <li>Simon Bates</li> <li>Amelia Bellamy-Royds (Invited Expert)</li> <li>Alex Bernier (Association BrailleNet)</li> <li>Jorge Blazquez Alonso (IBM Corporation)</li> <li>Christy Blew (University of Illinois at Urbana-Champaign)</li> <li>Chris Blouch (AOL)</li> <li>David Bolter (Mozilla Foundation)</li> <li>Alice Boxhall (Igalia)</li> <li>Judy Brewer (<abbr title="World Wide Web Consortium">W3C</abbr>/MIT)</li> <li>Mark Birbeck (Sidewinder Labs)</li> <li>Matthew Brennan (Facebook)</li> <li>Bogdan Brinza (Microsoft Corporation)</li> <li>Kim Bunge (TPGi)</li> <li>Sally Cain (Royal National Institute of Blind People (RNIB))</li> <li>Ben Caldwell (Trace)</li> <li>Thaddeus Cambron (Invited Expert)</li> <li>Tammy Campoverde (UnitedHealth Group)</li> <li>Gerardo Capiel (Benetech)</li> <li>David Caro (Wikimedia Foundation)</li> <li>Sofia Celic-Li</li> <li>Jaesik Chang (Samsung Electronics Co., Ltd.)</li> <li>Alex Qiang Chen (University of Manchester)</li> <li>Charles Chen (Google, Inc.)</li> <li>Gerard K. Cohen</li> <li>Christian Cohrs</li> <li>Timothy Cole (University of Illinois at Urbana-Champaign)</li> <li>Jory Cunningham (Salesforce)</li> <li>Deborah Dahl</li> <li>Erik Dahlström (Opera Software)</li> <li>Jes Daigle (Bocoup)</li> <li>Dimitar Denev (Frauenhofer Gesellschaft)</li> <li>Jason Duan (IBM Corporation)</li> <li>Micah Dubinko (Invited Expert)</li> <li>Mandana Eibegger</li> <li>Beth Epperson (Websense)</li> <li>Fred Esch (IBM Corporation)</li> <li>Donald Evans (AOL)</li> <li>Chris Fleizach (Apple Inc.)</li> <li>John Foliot (Deque Systems, Inc.)</li> <li>Kelly Ford (Microsoft Corporation)</li> <li>Geoff Freed (Invited Expert, NCAM)</li> <li>Kentarou Fukuda (IBM Corporation)</li> <li>Christopher Gallelo (Microsoft Corporation)</li> <li>Billy Gregory (The Paciello Group, LLC)</li> <li>Karl Groves (The Paciello Group, LLC)</li> <li>Birkir Gunnarsson (Deque Systems, Inc.)</li> <li>Guido Geloso</li> <li>Ali Ghassemi</li> <li>Becky Gibson (Invited Expert)</li> <li>Alfred S. Gilman</li> <li>Andres Gonzalez (Adobe Systems Inc.)</li> <li>Scott González (JQuery Foundation)</li> <li>James Graham</li> <li>Georgios Grigoriadis (SAP AG)</li> <li>Jeff Grimes (Oracle)</li> <li>Loretta Guarino Reid (Google, Inc.)</li> <li>Markus Gylling (DAISY Consortium)</li> <li>Katie Haritos-Shea (Knowbility)</li> <li>Barbara Hartel</li> <li>James Hawkins (Google, Inc.)</li> <li>Benjamin Hawkes-Lewis</li> <li>Sean Hayes (Microsoft Corporation)</li> <li>Mona Heath (University of Illinois at Urbana-Champaign)</li> <li>Jan Heck</li> <li>Shawn Henry</li> <li>Tina Homboe</li> <li>Nicholas Hoyt (University of Illinois at Urbana-Champaign)</li> <li>John Hrvatin (Microsoft Corporation)</li> <li>Takahiro Inada</li> <li>Masayasu Ishikawa (<abbr title="World Wide Web Consortium">W3C</abbr>)</li> <li>Jim Jewitt</li> <li>Kenny Johar (Microsoft Corporation)</li> <li>Earl Johnson (Sun)</li> <li>Masahiko Kaneko (Microsoft Corporation)</li> <li>Shilpi Kapoor (BarrierBreak Technologies)</li> <li>Marjolein Katsma</li> <li>Susann Keohane (IBM Corporation)</li> <li>George Kerscher (International Digital Publishing Forum)</li> <li>Jason Kiss (Department of Internal Affairs, New Zealand Government)</li> <li>Todd Kloots</li> <li>Jamie Knight (British Broadcasting Corporation)</li> <li>Johannes Koch</li> <li>Sam Kuper</li> <li>Jael Kurz</li> <li>Rajesh Lal (Nokia Corporation)</li> <li>Diego La Monica (International Webmasters Association / <abbr title="Hypertext Markup Language">HTML</abbr> Writers Guild (IWA-HWG))</li> <li>Lori Lane (University of Illinois at Urbana-Champaign)</li> <li>Alex Li (SAP)</li> <li>Chris Lilley</li> <li>Thomas Logan (HiSoftware Inc.)</li> <li>Brian Loh</li> <li>William Loughborough (Invited Expert)</li> <li>Krzysztof Maczyński </li> <li>Linda Mao (Microsoft)</li> <li>Anders Markussen (Opera Software)</li> <li>Daniel Marques (WIRIS Science)</li> <li>Matthew May (Adobe Systems Inc.)</li> <li>Dominic Mazzoni (Google LLC)</li> <li>Shane McCarron (Invited Expert, Aptest)</li> <li>Charles McCathie Nevile (Yandex)</li> <li>Juliette McShane (Access2online Inc.)</li> <li>Heather Migliorisi (Invited Expert)</li> <li>Mary Jo Mueller (IBM Corporation)</li> <li>Alexandre Morgaut (4D)</li> <li>Ann Navarro (Invited Expert)</li> <li>Rich Noah (Bocoup)</li> <li>Joshue O Connor (Invited Expert, CFIT)</li> <li>Achraf Othman (MADA Center)</li> <li>Artur Ortega (Microsoft Corporation)</li> <li>Sailesh Panchang (Deque)</li> <li>Lisa Pappas (Society for Technical Communication (STC))</li> <li>Marta Pawlowlska (Samsung Electronics Co., Ltd.)</li> <li>Dave Pawson (RNIB)</li> <li>Steven Pemberton (CWI Amsterdam)</li> <li>Vijaya Gowri Perumal (Newgen Knowledgeworks)</li> <li>Christos Petrou (Centre for Inclusive Design)</li> <li>Simon Pieters (Bocoup)</li> <li>Jean-Bernard Piot (4D)</li> <li>David Poehlman (Opera Software)</li> <li>Ian Pouncey (TetraLogical Services Ltd)</li> <li>Sarah Pulis (Media Access Australia)</li> <li>T.V. Raman (Google, Inc.)</li> <li>Ruoxi Ran (<abbr title="World Wide Web Consortium">W3C</abbr> Staff)</li> <li>Melanie Richards (Microsoft Corporation)</li> <li>Jan Richards</li> <li>Adrian Roselli (TPGi)</li> <li>Gregory Rosmaita (Invited Expert)</li> <li>Tony Ross (Microsoft Corporation)</li> <li>Alex Russell (Dojo Foundation)</li> <li>Mark Sadecki (Invited Expert)</li> <li>Mario Sánchez Prada (Samsung Electronics Co., Ltd. and Gnome Foundation)</li> <li>Martin Schaus (SAP AG)</li> <li>Doug Schepers (<abbr title="World Wide Web Consortium">W3C</abbr>)</li> <li>Cynthia Shelly (Microsoft Corporation) </li> <li>Joseph Scheuhammer (Invited Expert, Inclusive Design Research Centre, OCAD University) </li> <li>Matthias Schmitt </li> <li>Richard Schwerdtfeger (IBM, Knowbility)</li> <li>Lisa Seeman-Kestenbaum (Invited Expert) </li> <li>Marc Silbey (Microsoft Corporation)</li> <li>Leif Halvard Sili</li> <li>Henri Sivonen (Mozilla)</li> <li>Ville Skyttä </li> <li>Sharon Snider (IBM Corporation)</li> <li>Michael Smith (<abbr title="World Wide Web Consortium">W3C</abbr>)</li> <li>Andi Snow-Weaver (IBM Corporation)</li> <li>Volker Sorge (Invited Expert)</li> <li>Vitaly Sourikov</li> <li>Mike Squillace (IBM)</li> <li>Maciej Stachowiak (Apple Inc.)</li> <li>Christophe Strobbe</li> <li>Henny Swan (BBC)</li> <li>Suzanne Taylor (Pearson plc)</li> <li>William Tennis (Navy Federal Credit Union)</li> <li>Terrill Thompson</li> <li>David Todd</li> <li>Gregg Vanderheiden (Invited Expert, Trace)</li> <li>Job van Achterberg (Invited Expert)</li> <li>Anne van Kesteren</li> <li>Scott Vinkle (Shopify)</li> <li>Wen He (Tencent)</li> <li>Can Wang (Zhejiang University)</li> <li>Wei Wang (Zhejiang University)</li> <li>Léonie Watson (TetraLogical Services Ltd)</li> <li>Wu Wei (<abbr title="World Wide Web Consortium">W3C</abbr> / RITT)</li> <li>Jason White (Educational Testing Service)</li> <li>Sam White (Apple Inc.)</li> <li>Ryan Williams (Oracle)</li> <li>Tom Wlodkowski</li> <li>Evan Yamanishi (W. W. Norton)</li> <li>Marco Zehe (Mozilla Foundation)</li> <li>Gottfried Zimmermann (Invited Expert, Access Technologies Group)</li> </ul> </section> <section class="section" id="ack_funders"><div class="header-wrapper"><h3 id="c-3-enabling-funders"><bdi class="secno">C.3 </bdi>Enabling funders</h3><a class="self-link" href="#ack_funders" aria-label="Permalink for Appendix C.3"></a></div> <p>This publication has been funded in part with U.S. Federal funds from the Department of Education, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR), initially under contract number ED-OSE-10-C-0067, then under contract number HHSP23301500054C, and now under HHS75P00120P00168. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.</p> </section> </section> <section id="references" class="appendix"><div class="header-wrapper"><h2 id="d-references"><bdi class="secno">D. </bdi>References</h2><a class="self-link" href="#references" aria-label="Permalink for Appendix D."></a></div><section id="normative-references"><div class="header-wrapper"><h3 id="d-1-normative-references"><bdi class="secno">D.1 </bdi>Normative references</h3><a class="self-link" href="#normative-references" aria-label="Permalink for Appendix D.1"></a></div> <dl class="bibliography"><dt id="bib-accname-1.2">[ACCNAME-1.2]</dt><dd> <a href="https://www.w3.org/TR/accname-1.2/"><cite>Accessible Name and Description Computation 1.2</cite></a>. Bryan Garaventa; Joanmarie Diggs; Michael Cooper. W3C. 11 July 2019. W3C Working Draft. URL: <a href="https://www.w3.org/TR/accname-1.2/">https://www.w3.org/TR/accname-1.2/</a> </dd><dt id="bib-core-aam">[CORE-AAM]</dt><dd> <a href="https://www.w3.org/TR/core-aam-1.1/"><cite>Core Accessibility API Mappings 1.1</cite></a>. Joanmarie Diggs; Joseph Scheuhammer; Richard Schwerdtfeger; Michael Cooper; Andi Snow-Weaver; Aaron Leventhal. W3C. 14 December 2017. W3C Recommendation. URL: <a href="https://www.w3.org/TR/core-aam-1.1/">https://www.w3.org/TR/core-aam-1.1/</a> </dd><dt id="bib-core-aam-1.2">[CORE-AAM-1.2]</dt><dd> <a href="https://www.w3.org/TR/core-aam-1.2/"><cite>Core Accessibility API Mappings 1.2</cite></a>. Valerie Young; Alexander Surkov; Michael Cooper. W3C. 18 May 2023. W3C Candidate Recommendation. URL: <a href="https://www.w3.org/TR/core-aam-1.2/">https://www.w3.org/TR/core-aam-1.2/</a> </dd><dt id="bib-css3-selectors">[CSS3-SELECTORS]</dt><dd> <a href="https://www.w3.org/TR/selectors-3/"><cite>Selectors Level 3</cite></a>. Tantek Çelik; Elika Etemad; Daniel Glazman; Ian Hickson; Peter Linss; John Williams. W3C. 6 November 2018. W3C Recommendation. URL: <a href="https://www.w3.org/TR/selectors-3/">https://www.w3.org/TR/selectors-3/</a> </dd><dt id="bib-dom">[DOM]</dt><dd> <a href="https://dom.spec.whatwg.org/"><cite>DOM Standard</cite></a>. Anne van Kesteren. WHATWG. Living Standard. URL: <a href="https://dom.spec.whatwg.org/">https://dom.spec.whatwg.org/</a> </dd><dt id="bib-html">[HTML]</dt><dd> <a href="https://html.spec.whatwg.org/multipage/"><cite>HTML Standard</cite></a>. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: <a href="https://html.spec.whatwg.org/multipage/">https://html.spec.whatwg.org/multipage/</a> </dd><dt id="bib-mathml3">[MathML3]</dt><dd> <a href="https://www.w3.org/TR/MathML3/"><cite>Mathematical Markup Language (MathML) Version 3.0 2nd Edition</cite></a>. David Carlisle; Patrick D F Ion; Robert R Miner. W3C. 10 April 2014. W3C Recommendation. URL: <a href="https://www.w3.org/TR/MathML3/">https://www.w3.org/TR/MathML3/</a> </dd><dt id="bib-rfc2119">[RFC2119]</dt><dd> <a href="https://www.rfc-editor.org/rfc/rfc2119"><cite>Key words for use in RFCs to Indicate Requirement Levels</cite></a>. S. Bradner. IETF. March 1997. Best Current Practice. URL: <a href="https://www.rfc-editor.org/rfc/rfc2119">https://www.rfc-editor.org/rfc/rfc2119</a> </dd><dt id="bib-role-attribute">[ROLE-ATTRIBUTE]</dt><dd> <a href="https://www.w3.org/TR/role-attribute/"><cite>Role Attribute 1.0</cite></a>. Shane McCarron et al. W3C. 28 March 2013. W3C Recommendation. URL: <a href="https://www.w3.org/TR/role-attribute/">https://www.w3.org/TR/role-attribute/</a> </dd><dt id="bib-svg2">[SVG2]</dt><dd> <a href="https://www.w3.org/TR/SVG2/"><cite>Scalable Vector Graphics (SVG) 2</cite></a>. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: <a href="https://www.w3.org/TR/SVG2/">https://www.w3.org/TR/SVG2/</a> </dd><dt id="bib-uievents-key">[uievents-key]</dt><dd> <a href="https://www.w3.org/TR/uievents-key/"><cite>UI Events KeyboardEvent key Values</cite></a>. Travis Leithead; Gary Kacmarcik. W3C. 30 May 2023. W3C Candidate Recommendation. URL: <a href="https://www.w3.org/TR/uievents-key/">https://www.w3.org/TR/uievents-key/</a> </dd><dt id="bib-webidl">[webidl]</dt><dd> <a href="https://webidl.spec.whatwg.org/"><cite>Web IDL Standard</cite></a>. Edgar Chen; Timothy Gu. WHATWG. Living Standard. URL: <a href="https://webidl.spec.whatwg.org/">https://webidl.spec.whatwg.org/</a> </dd><dt id="bib-xml-names">[XML-NAMES]</dt><dd> <a href="https://www.w3.org/TR/xml-names/"><cite>Namespaces in XML 1.0 (Third Edition)</cite></a>. Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson et al. W3C. 8 December 2009. W3C Recommendation. URL: <a href="https://www.w3.org/TR/xml-names/">https://www.w3.org/TR/xml-names/</a> </dd></dl> </section><section id="informative-references"><div class="header-wrapper"><h3 id="d-2-informative-references"><bdi class="secno">D.2 </bdi>Informative references</h3><a class="self-link" href="#informative-references" aria-label="Permalink for Appendix D.2"></a></div> <dl class="bibliography"><dt id="bib-at-spi">[AT-SPI]</dt><dd> <a href="https://developer-old.gnome.org/libatspi/stable/"><cite>Assistive Technology Service Provider Interface</cite></a>. The GNOME Project. URL: <a href="https://developer-old.gnome.org/libatspi/stable/">https://developer-old.gnome.org/libatspi/stable/</a> </dd><dt id="bib-atk">[ATK]</dt><dd> <a href="https://developer.gnome.org/atk/stable/"><cite>ATK - Accessibility Toolkit</cite></a>. The GNOME Project. URL: <a href="https://developer.gnome.org/atk/stable/">https://developer.gnome.org/atk/stable/</a> </dd><dt id="bib-axapi">[AXAPI]</dt><dd> <a href="https://developer.apple.com/documentation/appkit/nsaccessibility"><cite>The NSAccessibility Protocol for macOS</cite></a>. Apple, Inc. URL: <a href="https://developer.apple.com/documentation/appkit/nsaccessibility">https://developer.apple.com/documentation/appkit/nsaccessibility</a> </dd><dt id="bib-html-aria">[HTML-ARIA]</dt><dd> <a href="https://www.w3.org/TR/html-aria/"><cite>ARIA in HTML</cite></a>. Steve Faulkner; Scott O'Hara; Patrick Lauke. W3C. 31 May 2023. W3C Recommendation. URL: <a href="https://www.w3.org/TR/html-aria/">https://www.w3.org/TR/html-aria/</a> </dd><dt id="bib-iaccessible2">[IAccessible2]</dt><dd> <a href="https://wiki.linuxfoundation.org/accessibility/iaccessible2/"><cite>IAccessible2</cite></a>. Linux Foundation. URL: <a href="https://wiki.linuxfoundation.org/accessibility/iaccessible2/">https://wiki.linuxfoundation.org/accessibility/iaccessible2/</a> </dd><dt id="bib-msaa">[MSAA]</dt><dd> <a href="https://docs.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility"><cite>Microsoft Active Accessibility (MSAA)</cite></a>. Microsoft Corporation. URL: <a href="https://docs.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility">https://docs.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility</a> </dd><dt id="bib-ui-automation">[UI-AUTOMATION]</dt><dd> <a href="https://docs.microsoft.com/en-us/windows/win32/winauto/ui-automation-specification"><cite>UI Automation</cite></a>. Microsoft Corporation. URL: <a href="https://docs.microsoft.com/en-us/windows/win32/winauto/ui-automation-specification">https://docs.microsoft.com/en-us/windows/win32/winauto/ui-automation-specification</a> </dd><dt id="bib-uia-express">[UIA-EXPRESS]</dt><dd> <a href="https://docs.microsoft.com/en-us/windows/win32/winauto/iaccessibleex"><cite>The IAccessibleEx Interface</cite></a>. Microsoft Corporation. URL: <a href="https://docs.microsoft.com/en-us/windows/win32/winauto/iaccessibleex">https://docs.microsoft.com/en-us/windows/win32/winauto/iaccessibleex</a> </dd><dt id="bib-wai-aria-1.1">[wai-aria-1.1]</dt><dd> <a href="https://www.w3.org/TR/wai-aria-1.1/"><cite>Accessible Rich Internet Applications (WAI-ARIA) 1.1</cite></a>. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 14 December 2017. W3C Recommendation. URL: <a href="https://www.w3.org/TR/wai-aria-1.1/">https://www.w3.org/TR/wai-aria-1.1/</a> </dd><dt id="bib-wai-aria-practices-1.2">[WAI-ARIA-PRACTICES-1.2]</dt><dd> <a href="https://www.w3.org/TR/wai-aria-practices-1.2/"><cite>WAI-ARIA Authoring Practices 1.2</cite></a>. Matthew King; JaEun Jemma Ku; James Nurthen; Zoë Bijl; Michael Cooper. W3C. 19 May 2022. W3C Working Group Note. URL: <a href="https://www.w3.org/TR/wai-aria-practices-1.2/">https://www.w3.org/TR/wai-aria-practices-1.2/</a> </dd><dt id="bib-wcag21">[WCAG21]</dt><dd> <a href="https://www.w3.org/TR/WCAG21/"><cite>Web Content Accessibility Guidelines (WCAG) 2.1</cite></a>. Andrew Kirkpatrick; Joshue O'Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: <a href="https://www.w3.org/TR/WCAG21/">https://www.w3.org/TR/WCAG21/</a> </dd><dt id="bib-xmlschema11-2">[XMLSCHEMA11-2]</dt><dd> <a href="https://www.w3.org/TR/xmlschema11-2/"><cite>W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</cite></a>. David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Biron et al. W3C. 5 April 2012. W3C Recommendation. URL: <a href="https://www.w3.org/TR/xmlschema11-2/">https://www.w3.org/TR/xmlschema11-2/</a> </dd></dl> </section></section><p role="navigation" id="back-to-top"> <a href="#title"><abbr title="Back to Top">↑</abbr></a> </p><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-accessibility-api" aria-label="Links in this document to definition: Accessibility API"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-accessibility-api" aria-label="Permalink for definition: Accessibility API. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-accessibility-api-1" title="§ 1. Introduction">§ 1. Introduction</a> <a href="#ref-for-dfn-accessibility-api-2" title="Reference 2">(2)</a> <a href="#ref-for-dfn-accessibility-api-3" title="Reference 3">(3)</a> </li><li> <a href="#ref-for-dfn-accessibility-api-4" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-accessibility-api-5" title="§ 1.3 User Agent Support">§ 1.3 User Agent Support</a> </li><li> <a href="#ref-for-dfn-accessibility-api-6" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-accessibility-api-7" title="Reference 2">(2)</a> <a href="#ref-for-dfn-accessibility-api-8" title="Reference 3">(3)</a> <a href="#ref-for-dfn-accessibility-api-9" title="Reference 4">(4)</a> <a href="#ref-for-dfn-accessibility-api-10" title="Reference 5">(5)</a> <a href="#ref-for-dfn-accessibility-api-11" title="Reference 6">(6)</a> <a href="#ref-for-dfn-accessibility-api-12" title="Reference 7">(7)</a> <a href="#ref-for-dfn-accessibility-api-13" title="Reference 8">(8)</a> </li><li> <a href="#ref-for-dfn-accessibility-api-14" title="§ 3.1 Non-interference with the Host Language">§ 3.1 Non-interference with the Host Language</a> </li><li> <a href="#ref-for-dfn-accessibility-api-15" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li><li> <a href="#ref-for-dfn-accessibility-api-16" title="§ 4.3.2 Information for User Agents">§ 4.3.2 Information for User Agents</a> </li><li> <a href="#ref-for-dfn-accessibility-api-17" title="§ 5.2.9 Presentational Children">§ 5.2.9 Presentational Children</a> </li><li> <a href="#ref-for-dfn-accessibility-api-18" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-accessibility-api-19" title="Reference 2">(2)</a> <a href="#ref-for-dfn-accessibility-api-20" title="Reference 3">(3)</a> <a href="#ref-for-dfn-accessibility-api-21" title="Reference 4">(4)</a> <a href="#ref-for-dfn-accessibility-api-22" title="Reference 5">(5)</a> <a href="#ref-for-dfn-accessibility-api-23" title="Reference 6">(6)</a> <a href="#ref-for-dfn-accessibility-api-24" title="Reference 7">(7)</a> <a href="#ref-for-dfn-accessibility-api-25" title="Reference 8">(8)</a> </li><li> <a href="#ref-for-dfn-accessibility-api-26" title="§ 6.6.1 Widget Attributes">§ 6.6.1 Widget Attributes</a> </li><li> <a href="#ref-for-dfn-accessibility-api-27" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-accessibility-api-28" title="Reference 2">(2)</a> <a href="#ref-for-dfn-accessibility-api-29" title="Reference 3">(3)</a> <a href="#ref-for-dfn-accessibility-api-30" title="Reference 4">(4)</a> <a href="#ref-for-dfn-accessibility-api-31" title="Reference 5">(5)</a> </li><li> <a href="#ref-for-dfn-accessibility-api-32" title="§ 7.1 Excluding Elements from the Accessibility Tree">§ 7.1 Excluding Elements from the Accessibility Tree</a> </li><li> <a href="#ref-for-dfn-accessibility-api-33" title="§ 7.2 Including Elements in the Accessibility Tree">§ 7.2 Including Elements in the Accessibility Tree</a> </li><li> <a href="#ref-for-dfn-accessibility-api-34" title="§ 9.2 States and Properties">§ 9.2 States and Properties</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-accessibility-subtree" aria-label="Links in this document to definition: Accessibility Subtree"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-accessibility-subtree" aria-label="Permalink for definition: Accessibility Subtree. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-accessibility-tree" aria-label="Links in this document to definition: Accessibility Tree"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-accessibility-tree" aria-label="Permalink for definition: Accessibility Tree. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-accessibility-tree-1" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-accessibility-tree-2" title="Reference 2">(2)</a> <a href="#ref-for-dfn-accessibility-tree-3" title="Reference 3">(3)</a> <a href="#ref-for-dfn-accessibility-tree-4" title="Reference 4">(4)</a> <a href="#ref-for-dfn-accessibility-tree-5" title="Reference 5">(5)</a> <a href="#ref-for-dfn-accessibility-tree-6" title="Reference 6">(6)</a> </li><li> <a href="#ref-for-dfn-accessibility-tree-7" title="§ 4.1 WAI-ARIA Roles">§ 4.1 WAI-ARIA Roles</a> </li><li> <a href="#ref-for-dfn-accessibility-tree-8" title="§ 7. Accessibility Tree">§ 7. Accessibility Tree</a> <a href="#ref-for-dfn-accessibility-tree-9" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-accessibility-tree-10" title="§ 7.1 Excluding Elements from the Accessibility Tree">§ 7.1 Excluding Elements from the Accessibility Tree</a> </li><li> <a href="#ref-for-dfn-accessibility-tree-11" title="§ 7.2 Including Elements in the Accessibility Tree">§ 7.2 Including Elements in the Accessibility Tree</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-accessible-description" aria-label="Links in this document to definition: Accessible Description"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-accessible-description" aria-label="Permalink for definition: Accessible Description. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-accessible-description-1" title="§ 2. Important Terms">§ 2. Important Terms</a> </li><li> <a href="#ref-for-dfn-accessible-description-2" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-accessible-name" aria-label="Links in this document to definition: Accessible Name"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-accessible-name" aria-label="Permalink for definition: Accessible Name. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-accessible-name-1" title="§ 2. Important Terms">§ 2. Important Terms</a> </li><li> <a href="#ref-for-dfn-accessible-name-2" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-accessible-name-3" title="Reference 2">(2)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-accessible-object" aria-label="Links in this document to definition: Accessible object"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-accessible-object" aria-label="Permalink for definition: Accessible object. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-accessible-object-1" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-accessible-object-2" title="Reference 2">(2)</a> <a href="#ref-for-dfn-accessible-object-3" title="Reference 3">(3)</a> <a href="#ref-for-dfn-accessible-object-4" title="Reference 4">(4)</a> <a href="#ref-for-dfn-accessible-object-5" title="Reference 5">(5)</a> </li><li> <a href="#ref-for-dfn-accessible-object-6" title="§ 7. Accessibility Tree">§ 7. Accessibility Tree</a> </li><li> <a href="#ref-for-dfn-accessible-object-7" title="§ 7.2 Including Elements in the Accessibility Tree">§ 7.2 Including Elements in the Accessibility Tree</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-activation-behavior" aria-label="Links in this document to definition: Activation behavior"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-activation-behavior" aria-label="Permalink for definition: Activation behavior. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-assistive-technology" aria-label="Links in this document to definition: Assistive Technologies"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-assistive-technology" aria-label="Permalink for definition: Assistive Technologies. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-assistive-technology-1" title="§ 1. Introduction">§ 1. Introduction</a> </li><li> <a href="#ref-for-dfn-assistive-technology-2" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> <a href="#ref-for-dfn-assistive-technology-3" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-assistive-technology-4" title="§ 1.2 Target Audience">§ 1.2 Target Audience</a> <a href="#ref-for-dfn-assistive-technology-5" title="Reference 2">(2)</a> <a href="#ref-for-dfn-assistive-technology-6" title="Reference 3">(3)</a> </li><li> <a href="#ref-for-dfn-assistive-technology-7" title="§ 1.3 User Agent Support">§ 1.3 User Agent Support</a> </li><li> <a href="#ref-for-dfn-assistive-technology-8" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-assistive-technology-9" title="Reference 2">(2)</a> <a href="#ref-for-dfn-assistive-technology-10" title="Reference 3">(3)</a> <a href="#ref-for-dfn-assistive-technology-11" title="Reference 4">(4)</a> </li><li> <a href="#ref-for-dfn-assistive-technology-12" title="§ 3.3 Assistive Technology Notifications Communicated to Web Applications">§ 3.3 Assistive Technology Notifications Communicated to Web Applications</a> </li><li> <a href="#ref-for-dfn-assistive-technology-13" title="§ 4. Using WAI-ARIA">§ 4. Using WAI-ARIA</a> </li><li> <a href="#ref-for-dfn-assistive-technology-14" title="§ 4.1 WAI-ARIA Roles">§ 4.1 WAI-ARIA Roles</a> </li><li> <a href="#ref-for-dfn-assistive-technology-15" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li><li> <a href="#ref-for-dfn-assistive-technology-16" title="§ 4.3.1 Information for Authors">§ 4.3.1 Information for Authors</a> </li><li> <a href="#ref-for-dfn-assistive-technology-17" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-assistive-technology-18" title="Reference 2">(2)</a> <a href="#ref-for-dfn-assistive-technology-19" title="Reference 3">(3)</a> <a href="#ref-for-dfn-assistive-technology-20" title="Reference 4">(4)</a> <a href="#ref-for-dfn-assistive-technology-21" title="Reference 5">(5)</a> <a href="#ref-for-dfn-assistive-technology-22" title="Reference 6">(6)</a> <a href="#ref-for-dfn-assistive-technology-23" title="Reference 7">(7)</a> <a href="#ref-for-dfn-assistive-technology-24" title="Reference 8">(8)</a> <a href="#ref-for-dfn-assistive-technology-25" title="Reference 9">(9)</a> <a href="#ref-for-dfn-assistive-technology-26" title="Reference 10">(10)</a> <a href="#ref-for-dfn-assistive-technology-27" title="Reference 11">(11)</a> <a href="#ref-for-dfn-assistive-technology-28" title="Reference 12">(12)</a> <a href="#ref-for-dfn-assistive-technology-29" title="Reference 13">(13)</a> <a href="#ref-for-dfn-assistive-technology-30" title="Reference 14">(14)</a> <a href="#ref-for-dfn-assistive-technology-31" title="Reference 15">(15)</a> <a href="#ref-for-dfn-assistive-technology-32" title="Reference 16">(16)</a> <a href="#ref-for-dfn-assistive-technology-33" title="Reference 17">(17)</a> <a href="#ref-for-dfn-assistive-technology-34" title="Reference 18">(18)</a> <a href="#ref-for-dfn-assistive-technology-35" title="Reference 19">(19)</a> <a href="#ref-for-dfn-assistive-technology-36" title="Reference 20">(20)</a> <a href="#ref-for-dfn-assistive-technology-37" title="Reference 21">(21)</a> <a href="#ref-for-dfn-assistive-technology-38" title="Reference 22">(22)</a> <a href="#ref-for-dfn-assistive-technology-39" title="Reference 23">(23)</a> <a href="#ref-for-dfn-assistive-technology-40" title="Reference 24">(24)</a> <a href="#ref-for-dfn-assistive-technology-41" title="Reference 25">(25)</a> <a href="#ref-for-dfn-assistive-technology-42" title="Reference 26">(26)</a> <a href="#ref-for-dfn-assistive-technology-43" title="Reference 27">(27)</a> <a href="#ref-for-dfn-assistive-technology-44" title="Reference 28">(28)</a> </li><li> <a href="#ref-for-dfn-assistive-technology-45" title="§ 6.6.1 Widget Attributes">§ 6.6.1 Widget Attributes</a> </li><li> <a href="#ref-for-dfn-assistive-technology-46" title="§ 6.6.2 Live Region Attributes">§ 6.6.2 Live Region Attributes</a> </li><li> <a href="#ref-for-dfn-assistive-technology-47" title="§ 6.6.3 Drag-and-Drop Attributes">§ 6.6.3 Drag-and-Drop Attributes</a> </li><li> <a href="#ref-for-dfn-assistive-technology-48" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-assistive-technology-49" title="Reference 2">(2)</a> <a href="#ref-for-dfn-assistive-technology-50" title="Reference 3">(3)</a> <a href="#ref-for-dfn-assistive-technology-51" title="Reference 4">(4)</a> <a href="#ref-for-dfn-assistive-technology-52" title="Reference 5">(5)</a> <a href="#ref-for-dfn-assistive-technology-53" title="Reference 6">(6)</a> <a href="#ref-for-dfn-assistive-technology-54" title="Reference 7">(7)</a> <a href="#ref-for-dfn-assistive-technology-55" title="Reference 8">(8)</a> <a href="#ref-for-dfn-assistive-technology-56" title="Reference 9">(9)</a> <a href="#ref-for-dfn-assistive-technology-57" title="Reference 10">(10)</a> <a href="#ref-for-dfn-assistive-technology-58" title="Reference 11">(11)</a> <a href="#ref-for-dfn-assistive-technology-59" title="Reference 12">(12)</a> <a href="#ref-for-dfn-assistive-technology-60" title="Reference 13">(13)</a> <a href="#ref-for-dfn-assistive-technology-61" title="Reference 14">(14)</a> <a href="#ref-for-dfn-assistive-technology-62" title="Reference 15">(15)</a> <a href="#ref-for-dfn-assistive-technology-63" title="Reference 16">(16)</a> </li><li> <a href="#ref-for-dfn-assistive-technology-64" title="§ 7. Accessibility Tree">§ 7. Accessibility Tree</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-attribute" aria-label="Links in this document to definition: Attribute"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-attribute" aria-label="Permalink for definition: Attribute. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-attribute-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-attribute-2" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-attribute-3" title="Reference 2">(2)</a> <a href="#ref-for-dfn-attribute-4" title="Reference 3">(3)</a> <a href="#ref-for-dfn-attribute-5" title="Reference 4">(4)</a> </li><li> <a href="#ref-for-dfn-attribute-6" title="§ 4. Using WAI-ARIA">§ 4. Using WAI-ARIA</a> </li><li> <a href="#ref-for-dfn-attribute-7" title="§ 4.1 WAI-ARIA Roles">§ 4.1 WAI-ARIA Roles</a> <a href="#ref-for-dfn-attribute-8" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-attribute-9" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li><li> <a href="#ref-for-dfn-attribute-10" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-attribute-11" title="Reference 2">(2)</a> <a href="#ref-for-dfn-attribute-12" title="Reference 3">(3)</a> <a href="#ref-for-dfn-attribute-13" title="Reference 4">(4)</a> <a href="#ref-for-dfn-attribute-14" title="Reference 5">(5)</a> <a href="#ref-for-dfn-attribute-15" title="Reference 6">(6)</a> <a href="#ref-for-dfn-attribute-16" title="Reference 7">(7)</a> <a href="#ref-for-dfn-attribute-17" title="Reference 8">(8)</a> <a href="#ref-for-dfn-attribute-18" title="Reference 9">(9)</a> <a href="#ref-for-dfn-attribute-19" title="Reference 10">(10)</a> <a href="#ref-for-dfn-attribute-20" title="Reference 11">(11)</a> <a href="#ref-for-dfn-attribute-21" title="Reference 12">(12)</a> <a href="#ref-for-dfn-attribute-22" title="Reference 13">(13)</a> </li><li> <a href="#ref-for-dfn-attribute-23" title="§ 6.1 Clarification of States versus Properties">§ 6.1 Clarification of States versus Properties</a> </li><li> <a href="#ref-for-dfn-attribute-24" title="§ 6.6.1 Widget Attributes">§ 6.6.1 Widget Attributes</a> </li><li> <a href="#ref-for-dfn-attribute-25" title="§ 6.6.2 Live Region Attributes">§ 6.6.2 Live Region Attributes</a> </li><li> <a href="#ref-for-dfn-attribute-26" title="§ 6.6.3 Drag-and-Drop Attributes">§ 6.6.3 Drag-and-Drop Attributes</a> </li><li> <a href="#ref-for-dfn-attribute-27" title="§ 6.6.4 Relationship Attributes">§ 6.6.4 Relationship Attributes</a> </li><li> <a href="#ref-for-dfn-attribute-28" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-attribute-29" title="Reference 2">(2)</a> <a href="#ref-for-dfn-attribute-30" title="Reference 3">(3)</a> <a href="#ref-for-dfn-attribute-31" title="Reference 4">(4)</a> <a href="#ref-for-dfn-attribute-32" title="Reference 5">(5)</a> <a href="#ref-for-dfn-attribute-33" title="Reference 6">(6)</a> <a href="#ref-for-dfn-attribute-34" title="Reference 7">(7)</a> <a href="#ref-for-dfn-attribute-35" title="Reference 8">(8)</a> <a href="#ref-for-dfn-attribute-36" title="Reference 9">(9)</a> <a href="#ref-for-dfn-attribute-37" title="Reference 10">(10)</a> <a href="#ref-for-dfn-attribute-38" title="Reference 11">(11)</a> <a href="#ref-for-dfn-attribute-39" title="Reference 12">(12)</a> <a href="#ref-for-dfn-attribute-40" title="Reference 13">(13)</a> <a href="#ref-for-dfn-attribute-41" title="Reference 14">(14)</a> <a href="#ref-for-dfn-attribute-42" title="Reference 15">(15)</a> <a href="#ref-for-dfn-attribute-43" title="Reference 16">(16)</a> <a href="#ref-for-dfn-attribute-44" title="Reference 17">(17)</a> <a href="#ref-for-dfn-attribute-45" title="Reference 18">(18)</a> <a href="#ref-for-dfn-attribute-46" title="Reference 19">(19)</a> <a href="#ref-for-dfn-attribute-47" title="Reference 20">(20)</a> <a href="#ref-for-dfn-attribute-48" title="Reference 21">(21)</a> <a href="#ref-for-dfn-attribute-49" title="Reference 22">(22)</a> <a href="#ref-for-dfn-attribute-50" title="Reference 23">(23)</a> <a href="#ref-for-dfn-attribute-51" title="Reference 24">(24)</a> <a href="#ref-for-dfn-attribute-52" title="Reference 25">(25)</a> </li><li> <a href="#ref-for-dfn-attribute-53" title="§ 8. Implementation in Host Languages">§ 8. Implementation in Host Languages</a> </li><li> <a href="#ref-for-dfn-attribute-54" title="§ 8.1 Role Attribute">§ 8.1 Role Attribute</a> </li><li> <a href="#ref-for-dfn-attribute-55" title="§ 8.2 State and Property Attributes">§ 8.2 State and Property Attributes</a> </li><li> <a href="#ref-for-dfn-attribute-56" title="§ 8.3 Focus Navigation">§ 8.3 Focus Navigation</a> </li><li> <a href="#ref-for-dfn-attribute-57" title="§ 8.7 CSS Selectors">§ 8.7 CSS Selectors</a> </li><li> <a href="#ref-for-dfn-attribute-58" title="§ 9.2 States and Properties">§ 9.2 States and Properties</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-class" aria-label="Links in this document to definition: Class"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-class" aria-label="Permalink for definition: Class. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-class-1" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-class-2" title="Reference 2">(2)</a> <a href="#ref-for-dfn-class-3" title="Reference 3">(3)</a> </li><li> <a href="#ref-for-dfn-class-4" title="§ 5.1.1 Superclass Role">§ 5.1.1 Superclass Role</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-deprecated" aria-label="Links in this document to definition: Deprecated"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-deprecated" aria-label="Permalink for definition: Deprecated. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-deprecated-1" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-deprecated-2" title="Reference 2">(2)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-desktop-focus" aria-label="Links in this document to definition: Desktop focus event"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-desktop-focus" aria-label="Permalink for definition: Desktop focus event. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-desktop-focus-1" title="§ 4.3 Managing Focus and Supporting Keyboard Navigation">§ 4.3 Managing Focus and Supporting Keyboard Navigation</a> </li><li> <a href="#ref-for-dfn-desktop-focus-2" title="§ 4.3.2 Information for User Agents">§ 4.3.2 Information for User Agents</a> <a href="#ref-for-dfn-desktop-focus-3" title="Reference 2">(2)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-domstring" aria-label="Links in this document to definition: DOMString"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-domstring" aria-label="Permalink for definition: DOMString. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-domstring-1" title="§ 6.3.2 IDL reflection of ARIA attributes">§ 6.3.2 IDL reflection of ARIA attributes</a> </li><li> <a href="#ref-for-dfn-domstring-2" title="§ 6.3.4 ARIA nullable DOMString Attributes">§ 6.3.4 ARIA nullable DOMString Attributes</a> <a href="#ref-for-dfn-domstring-3" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-domstring-4" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> <a href="#ref-for-dfn-domstring-5" title="Reference 2">(2)</a> <a href="#ref-for-dfn-domstring-6" title="Reference 3">(3)</a> <a href="#ref-for-dfn-domstring-7" title="Reference 4">(4)</a> <a href="#ref-for-dfn-domstring-8" title="Reference 5">(5)</a> <a href="#ref-for-dfn-domstring-9" title="Reference 6">(6)</a> <a href="#ref-for-dfn-domstring-10" title="Reference 7">(7)</a> <a href="#ref-for-dfn-domstring-11" title="Reference 8">(8)</a> <a href="#ref-for-dfn-domstring-12" title="Reference 9">(9)</a> <a href="#ref-for-dfn-domstring-13" title="Reference 10">(10)</a> <a href="#ref-for-dfn-domstring-14" title="Reference 11">(11)</a> <a href="#ref-for-dfn-domstring-15" title="Reference 12">(12)</a> <a href="#ref-for-dfn-domstring-16" title="Reference 13">(13)</a> <a href="#ref-for-dfn-domstring-17" title="Reference 14">(14)</a> <a href="#ref-for-dfn-domstring-18" title="Reference 15">(15)</a> <a href="#ref-for-dfn-domstring-19" title="Reference 16">(16)</a> <a href="#ref-for-dfn-domstring-20" title="Reference 17">(17)</a> <a href="#ref-for-dfn-domstring-21" title="Reference 18">(18)</a> <a href="#ref-for-dfn-domstring-22" title="Reference 19">(19)</a> <a href="#ref-for-dfn-domstring-23" title="Reference 20">(20)</a> <a href="#ref-for-dfn-domstring-24" title="Reference 21">(21)</a> <a href="#ref-for-dfn-domstring-25" title="Reference 22">(22)</a> <a href="#ref-for-dfn-domstring-26" title="Reference 23">(23)</a> <a href="#ref-for-dfn-domstring-27" title="Reference 24">(24)</a> <a href="#ref-for-dfn-domstring-28" title="Reference 25">(25)</a> <a href="#ref-for-dfn-domstring-29" title="Reference 26">(26)</a> <a href="#ref-for-dfn-domstring-30" title="Reference 27">(27)</a> <a href="#ref-for-dfn-domstring-31" title="Reference 28">(28)</a> <a href="#ref-for-dfn-domstring-32" title="Reference 29">(29)</a> <a href="#ref-for-dfn-domstring-33" title="Reference 30">(30)</a> <a href="#ref-for-dfn-domstring-34" title="Reference 31">(31)</a> <a href="#ref-for-dfn-domstring-35" title="Reference 32">(32)</a> <a href="#ref-for-dfn-domstring-36" title="Reference 33">(33)</a> <a href="#ref-for-dfn-domstring-37" title="Reference 34">(34)</a> <a href="#ref-for-dfn-domstring-38" title="Reference 35">(35)</a> <a href="#ref-for-dfn-domstring-39" title="Reference 36">(36)</a> <a href="#ref-for-dfn-domstring-40" title="Reference 37">(37)</a> <a href="#ref-for-dfn-domstring-41" title="Reference 38">(38)</a> </li><li> <a href="#ref-for-dfn-domstring-42" title="§ B. Substantive changes since the WAI-ARIA 1.1 Recommendation">§ B. Substantive changes since the WAI-ARIA 1.1 Recommendation</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-element" aria-label="Links in this document to definition: Element"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-element" aria-label="Permalink for definition: Element. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-element-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-element-2" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-element-3" title="Reference 2">(2)</a> <a href="#ref-for-dfn-element-4" title="Reference 3">(3)</a> <a href="#ref-for-dfn-element-5" title="Reference 4">(4)</a> <a href="#ref-for-dfn-element-6" title="Reference 5">(5)</a> <a href="#ref-for-dfn-element-7" title="Reference 6">(6)</a> <a href="#ref-for-dfn-element-8" title="Reference 7">(7)</a> <a href="#ref-for-dfn-element-9" title="Reference 8">(8)</a> <a href="#ref-for-dfn-element-10" title="Reference 9">(9)</a> </li><li> <a href="#ref-for-dfn-element-11" title="§ 4. Using WAI-ARIA">§ 4. Using WAI-ARIA</a> </li><li> <a href="#ref-for-dfn-element-12" title="§ 4.1 WAI-ARIA Roles">§ 4.1 WAI-ARIA Roles</a> </li><li> <a href="#ref-for-dfn-element-13" title="§ 4.3 Managing Focus and Supporting Keyboard Navigation">§ 4.3 Managing Focus and Supporting Keyboard Navigation</a> </li><li> <a href="#ref-for-dfn-element-14" title="§ 4.3.1 Information for Authors">§ 4.3.1 Information for Authors</a> <a href="#ref-for-dfn-element-15" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-element-16" title="§ 4.3.2 Information for User Agents">§ 4.3.2 Information for User Agents</a> </li><li> <a href="#ref-for-dfn-element-17" title="§ 5.2.4 Inherited States and Properties">§ 5.2.4 Inherited States and Properties</a> </li><li> <a href="#ref-for-dfn-element-18" title="§ 5.2.6 Required Owned Elements">§ 5.2.6 Required Owned Elements</a> </li><li> <a href="#ref-for-dfn-element-19" title="§ 5.2.8 Accessible Name Calculation">§ 5.2.8 Accessible Name Calculation</a> </li><li> <a href="#ref-for-dfn-element-20" title="§ 5.2.9 Presentational Children">§ 5.2.9 Presentational Children</a> </li><li> <a href="#ref-for-dfn-element-21" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-element-22" title="Reference 2">(2)</a> <a href="#ref-for-dfn-element-23" title="Reference 3">(3)</a> <a href="#ref-for-dfn-element-24" title="Reference 4">(4)</a> <a href="#ref-for-dfn-element-25" title="Reference 5">(5)</a> <a href="#ref-for-dfn-element-26" title="Reference 6">(6)</a> <a href="#ref-for-dfn-element-27" title="Reference 7">(7)</a> <a href="#ref-for-dfn-element-28" title="Reference 8">(8)</a> <a href="#ref-for-dfn-element-29" title="Reference 9">(9)</a> <a href="#ref-for-dfn-element-30" title="Reference 10">(10)</a> <a href="#ref-for-dfn-element-31" title="Reference 11">(11)</a> <a href="#ref-for-dfn-element-32" title="Reference 12">(12)</a> <a href="#ref-for-dfn-element-33" title="Reference 13">(13)</a> <a href="#ref-for-dfn-element-34" title="Reference 14">(14)</a> <a href="#ref-for-dfn-element-35" title="Reference 15">(15)</a> <a href="#ref-for-dfn-element-36" title="Reference 16">(16)</a> <a href="#ref-for-dfn-element-37" title="Reference 17">(17)</a> <a href="#ref-for-dfn-element-38" title="Reference 18">(18)</a> <a href="#ref-for-dfn-element-39" title="Reference 19">(19)</a> <a href="#ref-for-dfn-element-40" title="Reference 20">(20)</a> <a href="#ref-for-dfn-element-41" title="Reference 21">(21)</a> <a href="#ref-for-dfn-element-42" title="Reference 22">(22)</a> <a href="#ref-for-dfn-element-43" title="Reference 23">(23)</a> <a href="#ref-for-dfn-element-44" title="Reference 24">(24)</a> <a href="#ref-for-dfn-element-45" title="Reference 25">(25)</a> <a href="#ref-for-dfn-element-46" title="Reference 26">(26)</a> <a href="#ref-for-dfn-element-47" title="Reference 27">(27)</a> <a href="#ref-for-dfn-element-48" title="Reference 28">(28)</a> <a href="#ref-for-dfn-element-50" title="Reference 29">(29)</a> <a href="#ref-for-dfn-element-51" title="Reference 30">(30)</a> <a href="#ref-for-dfn-element-52" title="Reference 31">(31)</a> <a href="#ref-for-dfn-element-53" title="Reference 32">(32)</a> <a href="#ref-for-dfn-element-54" title="Reference 33">(33)</a> <a href="#ref-for-dfn-element-55" title="Reference 34">(34)</a> <a href="#ref-for-dfn-element-56" title="Reference 35">(35)</a> <a href="#ref-for-dfn-element-57" title="Reference 36">(36)</a> <a href="#ref-for-dfn-element-58" title="Reference 37">(37)</a> <a href="#ref-for-dfn-element-59" title="Reference 38">(38)</a> <a href="#ref-for-dfn-element-60" title="Reference 39">(39)</a> <a href="#ref-for-dfn-element-61" title="Reference 40">(40)</a> <a href="#ref-for-dfn-element-62" title="Reference 41">(41)</a> <a href="#ref-for-dfn-element-63" title="Reference 42">(42)</a> <a href="#ref-for-dfn-element-64" title="Reference 43">(43)</a> <a href="#ref-for-dfn-element-65" title="Reference 44">(44)</a> <a href="#ref-for-dfn-element-66" title="Reference 45">(45)</a> <a href="#ref-for-dfn-element-67" title="Reference 46">(46)</a> <a href="#ref-for-dfn-element-68" title="Reference 47">(47)</a> </li><li> <a href="#ref-for-dfn-element-49" title="§ Presentational Roles Conflict Resolution">§ Presentational Roles Conflict Resolution</a> </li><li> <a href="#ref-for-dfn-element-69" title="§ 6.2.4 Value">§ 6.2.4 Value</a> </li><li> <a href="#ref-for-dfn-element-70" title="§ 6.5 Global States and Properties">§ 6.5 Global States and Properties</a> </li><li> <a href="#ref-for-dfn-element-71" title="§ 6.6.1 Widget Attributes">§ 6.6.1 Widget Attributes</a> </li><li> <a href="#ref-for-dfn-element-72" title="§ 6.6.2 Live Region Attributes">§ 6.6.2 Live Region Attributes</a> </li><li> <a href="#ref-for-dfn-element-73" title="§ 6.6.3 Drag-and-Drop Attributes">§ 6.6.3 Drag-and-Drop Attributes</a> </li><li> <a href="#ref-for-dfn-element-74" title="§ 6.6.4 Relationship Attributes">§ 6.6.4 Relationship Attributes</a> </li><li> <a href="#ref-for-dfn-element-75" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-element-76" title="Reference 2">(2)</a> <a href="#ref-for-dfn-element-77" title="Reference 3">(3)</a> <a href="#ref-for-dfn-element-78" title="Reference 4">(4)</a> <a href="#ref-for-dfn-element-79" title="Reference 5">(5)</a> <a href="#ref-for-dfn-element-80" title="Reference 6">(6)</a> <a href="#ref-for-dfn-element-81" title="Reference 7">(7)</a> <a href="#ref-for-dfn-element-82" title="Reference 8">(8)</a> <a href="#ref-for-dfn-element-83" title="Reference 9">(9)</a> <a href="#ref-for-dfn-element-84" title="Reference 10">(10)</a> <a href="#ref-for-dfn-element-85" title="Reference 11">(11)</a> <a href="#ref-for-dfn-element-86" title="Reference 12">(12)</a> <a href="#ref-for-dfn-element-87" title="Reference 13">(13)</a> <a href="#ref-for-dfn-element-88" title="Reference 14">(14)</a> <a href="#ref-for-dfn-element-89" title="Reference 15">(15)</a> <a href="#ref-for-dfn-element-90" title="Reference 16">(16)</a> <a href="#ref-for-dfn-element-91" title="Reference 17">(17)</a> <a href="#ref-for-dfn-element-92" title="Reference 18">(18)</a> <a href="#ref-for-dfn-element-93" title="Reference 19">(19)</a> <a href="#ref-for-dfn-element-94" title="Reference 20">(20)</a> <a href="#ref-for-dfn-element-95" title="Reference 21">(21)</a> <a href="#ref-for-dfn-element-96" title="Reference 22">(22)</a> <a href="#ref-for-dfn-element-97" title="Reference 23">(23)</a> <a href="#ref-for-dfn-element-98" title="Reference 24">(24)</a> <a href="#ref-for-dfn-element-99" title="Reference 25">(25)</a> <a href="#ref-for-dfn-element-100" title="Reference 26">(26)</a> </li><li> <a href="#ref-for-dfn-element-101" title="§ 7.1 Excluding Elements from the Accessibility Tree">§ 7.1 Excluding Elements from the Accessibility Tree</a> </li><li> <a href="#ref-for-dfn-element-102" title="§ 7.2 Including Elements in the Accessibility Tree">§ 7.2 Including Elements in the Accessibility Tree</a> </li><li> <a href="#ref-for-dfn-element-103" title="§ 8. Implementation in Host Languages">§ 8. Implementation in Host Languages</a> </li><li> <a href="#ref-for-dfn-element-104" title="§ 8.6.1 ID Reference Error Processing">§ 8.6.1 ID Reference Error Processing</a> <a href="#ref-for-dfn-element-105" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-element-106" title="§ 8.7 CSS Selectors">§ 8.7 CSS Selectors</a> </li><li> <a href="#ref-for-dfn-element-107" title="§ 9.2 States and Properties">§ 9.2 States and Properties</a> <a href="#ref-for-dfn-element-108" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-element-109" title="§ 10.3 ARIAMixin Mixed in to Element">§ 10.3 ARIAMixin Mixed in to Element</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-event" aria-label="Links in this document to definition: Event"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-event" aria-label="Permalink for definition: Event. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-event-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-event-2" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-event-3" title="Reference 2">(2)</a> <a href="#ref-for-dfn-event-4" title="Reference 3">(3)</a> </li><li> <a href="#ref-for-dfn-event-5" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li><li> <a href="#ref-for-dfn-event-6" title="§ 4.3.2 Information for User Agents">§ 4.3.2 Information for User Agents</a> </li><li> <a href="#ref-for-dfn-event-7" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-event-8" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-event-9" title="§ 6.6.1 Widget Attributes">§ 6.6.1 Widget Attributes</a> </li><li> <a href="#ref-for-dfn-event-10" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> </li><li> <a href="#ref-for-dfn-event-11" title="§ 7. Accessibility Tree">§ 7. Accessibility Tree</a> </li><li> <a href="#ref-for-dfn-event-12" title="§ 7.2 Including Elements in the Accessibility Tree">§ 7.2 Including Elements in the Accessibility Tree</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-expose" aria-label="Links in this document to definition: Expose"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-expose" aria-label="Permalink for definition: Expose. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-graphical-document" aria-label="Links in this document to definition: Graphical Document"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-graphical-document" aria-label="Permalink for definition: Graphical Document. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-graphical-document-1" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-hidden" aria-label="Links in this document to definition: Hidden"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-hidden" aria-label="Permalink for definition: Hidden. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-hidden-1" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-hidden-2" title="Reference 2">(2)</a> <a href="#ref-for-dfn-hidden-3" title="Reference 3">(3)</a> <a href="#ref-for-dfn-hidden-4" title="Reference 4">(4)</a> </li><li> <a href="#ref-for-dfn-hidden-5" title="§ 7.2 Including Elements in the Accessibility Tree">§ 7.2 Including Elements in the Accessibility Tree</a> <a href="#ref-for-dfn-hidden-6" title="Reference 2">(2)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-informative" aria-label="Links in this document to definition: Informative"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-informative" aria-label="Permalink for definition: Informative. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-informative-1" title="§ 2. Important Terms">§ 2. Important Terms</a> </li><li> <a href="#ref-for-dfn-informative-2" title="§ 3. Conformance">§ 3. Conformance</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-keyboard-accessible" aria-label="Links in this document to definition: Keyboard Accessible"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-keyboard-accessible" aria-label="Permalink for definition: Keyboard Accessible. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-keyboard-accessible-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-keyboard-accessible-2" title="§ 2. Important Terms">§ 2. Important Terms</a> </li><li> <a href="#ref-for-dfn-keyboard-accessible-3" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-keyboard-accessible-4" title="Reference 2">(2)</a> <a href="#ref-for-dfn-keyboard-accessible-5" title="Reference 3">(3)</a> <a href="#ref-for-dfn-keyboard-accessible-6" title="Reference 4">(4)</a> <a href="#ref-for-dfn-keyboard-accessible-7" title="Reference 5">(5)</a> <a href="#ref-for-dfn-keyboard-accessible-8" title="Reference 6">(6)</a> <a href="#ref-for-dfn-keyboard-accessible-9" title="Reference 7">(7)</a> <a href="#ref-for-dfn-keyboard-accessible-10" title="Reference 8">(8)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-landmark" aria-label="Links in this document to definition: Landmark"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-landmark" aria-label="Permalink for definition: Landmark. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-landmark-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-landmark-2" title="§ 5.3.4 Landmark Roles">§ 5.3.4 Landmark Roles</a> </li><li> <a href="#ref-for-dfn-landmark-3" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-landmark-4" title="Reference 2">(2)</a> <a href="#ref-for-dfn-landmark-5" title="Reference 3">(3)</a> <a href="#ref-for-dfn-landmark-6" title="Reference 4">(4)</a> <a href="#ref-for-dfn-landmark-7" title="Reference 5">(5)</a> <a href="#ref-for-dfn-landmark-8" title="Reference 6">(6)</a> <a href="#ref-for-dfn-landmark-9" title="Reference 7">(7)</a> <a href="#ref-for-dfn-landmark-10" title="Reference 8">(8)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-live-region" aria-label="Links in this document to definition: Live Region"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-live-region" aria-label="Permalink for definition: Live Region. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-live-region-1" title="§ 5.3.5 Live Region Roles">§ 5.3.5 Live Region Roles</a> </li><li> <a href="#ref-for-dfn-live-region-2" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-live-region-3" title="Reference 2">(2)</a> <a href="#ref-for-dfn-live-region-4" title="Reference 3">(3)</a> <a href="#ref-for-dfn-live-region-5" title="Reference 4">(4)</a> <a href="#ref-for-dfn-live-region-6" title="Reference 5">(5)</a> <a href="#ref-for-dfn-live-region-7" title="Reference 6">(6)</a> <a href="#ref-for-dfn-live-region-8" title="Reference 7">(7)</a> </li><li> <a href="#ref-for-dfn-live-region-9" title="§ 6.6.2 Live Region Attributes">§ 6.6.2 Live Region Attributes</a> </li><li> <a href="#ref-for-dfn-live-region-10" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-live-region-11" title="Reference 2">(2)</a> <a href="#ref-for-dfn-live-region-12" title="Reference 3">(3)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-primary-content-element" aria-label="Links in this document to definition: Primary Content Element"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-primary-content-element" aria-label="Permalink for definition: Primary Content Element. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-managed-state" aria-label="Links in this document to definition: Managed State"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-managed-state" aria-label="Permalink for definition: Managed State. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-managed-state-1" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-nemeth-braille" aria-label="Links in this document to definition: Nemeth Braille"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-nemeth-braille" aria-label="Permalink for definition: Nemeth Braille. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-nemeth-braille-1" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-node" aria-label="Links in this document to definition: Node"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-node" aria-label="Permalink for definition: Node. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-node-1" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-node-2" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-node-3" title="§ 5.2.8 Accessible Name Calculation">§ 5.2.8 Accessible Name Calculation</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-normative" aria-label="Links in this document to definition: Normative"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-normative" aria-label="Permalink for definition: Normative. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-normative-1" title="§ 2. Important Terms">§ 2. Important Terms</a> </li><li> <a href="#ref-for-dfn-normative-2" title="§ 3. Conformance">§ 3. Conformance</a> </li><li> <a href="#ref-for-dfn-normative-3" title="§ 3.4 Conformance Checkers">§ 3.4 Conformance Checkers</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-object" aria-label="Links in this document to definition: Object"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-object" aria-label="Permalink for definition: Object. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-object-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-object-2" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-object-3" title="Reference 2">(2)</a> <a href="#ref-for-dfn-object-4" title="Reference 3">(3)</a> <a href="#ref-for-dfn-object-5" title="Reference 4">(4)</a> <a href="#ref-for-dfn-object-6" title="Reference 5">(5)</a> <a href="#ref-for-dfn-object-7" title="Reference 6">(6)</a> <a href="#ref-for-dfn-object-8" title="Reference 7">(7)</a> <a href="#ref-for-dfn-object-9" title="Reference 8">(8)</a> <a href="#ref-for-dfn-object-10" title="Reference 9">(9)</a> <a href="#ref-for-dfn-object-11" title="Reference 10">(10)</a> <a href="#ref-for-dfn-object-12" title="Reference 11">(11)</a> </li><li> <a href="#ref-for-dfn-object-13" title="§ 4.3.2 Information for User Agents">§ 4.3.2 Information for User Agents</a> </li><li> <a href="#ref-for-dfn-object-14" title="§ 5.1.4 Base Concept">§ 5.1.4 Base Concept</a> </li><li> <a href="#ref-for-dfn-object-15" title="§ 5.2.2 Required States and Properties">§ 5.2.2 Required States and Properties</a> </li><li> <a href="#ref-for-dfn-object-16" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-object-17" title="Reference 2">(2)</a> <a href="#ref-for-dfn-object-18" title="Reference 3">(3)</a> <a href="#ref-for-dfn-object-19" title="Reference 4">(4)</a> </li><li> <a href="#ref-for-dfn-object-20" title="§ 6.1 Clarification of States versus Properties">§ 6.1 Clarification of States versus Properties</a> </li><li> <a href="#ref-for-dfn-object-21" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-object-22" title="Reference 2">(2)</a> <a href="#ref-for-dfn-object-23" title="Reference 3">(3)</a> <a href="#ref-for-dfn-object-24" title="Reference 4">(4)</a> <a href="#ref-for-dfn-object-25" title="Reference 5">(5)</a> <a href="#ref-for-dfn-object-26" title="Reference 6">(6)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-ontology" aria-label="Links in this document to definition: Ontology"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-ontology" aria-label="Permalink for definition: Ontology. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-ontology-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-ontology-2" title="§ 2. Important Terms">§ 2. Important Terms</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-operable" aria-label="Links in this document to definition: Operable"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-operable" aria-label="Permalink for definition: Operable. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-operable-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> <a href="#ref-for-dfn-operable-2" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-operable-3" title="§ Presentational Roles Conflict Resolution">§ Presentational Roles Conflict Resolution</a> </li><li> <a href="#ref-for-dfn-operable-4" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-operable-5" title="Reference 2">(2)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-owned-element" aria-label="Links in this document to definition: Owned Element"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-owned-element" aria-label="Permalink for definition: Owned Element. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-owned-element-1" title="§ 4.3.2 Information for User Agents">§ 4.3.2 Information for User Agents</a> <a href="#ref-for-dfn-owned-element-2" title="Reference 2">(2)</a> <a href="#ref-for-dfn-owned-element-3" title="Reference 3">(3)</a> <a href="#ref-for-dfn-owned-element-4" title="Reference 4">(4)</a> </li><li> <a href="#ref-for-dfn-owned-element-5" title="§ 5.2.6 Required Owned Elements">§ 5.2.6 Required Owned Elements</a> <a href="#ref-for-dfn-owned-element-6" title="Reference 2">(2)</a> <a href="#ref-for-dfn-owned-element-7" title="Reference 3">(3)</a> <a href="#ref-for-dfn-owned-element-8" title="Reference 4">(4)</a> </li><li> <a href="#ref-for-dfn-owned-element-9" title="§ 5.2.7 Required Context Role">§ 5.2.7 Required Context Role</a> <a href="#ref-for-dfn-owned-element-10" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-owned-element-11" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-owned-element-12" title="Reference 2">(2)</a> <a href="#ref-for-dfn-owned-element-13" title="Reference 3">(3)</a> <a href="#ref-for-dfn-owned-element-14" title="Reference 4">(4)</a> <a href="#ref-for-dfn-owned-element-15" title="Reference 5">(5)</a> <a href="#ref-for-dfn-owned-element-16" title="Reference 6">(6)</a> <a href="#ref-for-dfn-owned-element-17" title="Reference 7">(7)</a> <a href="#ref-for-dfn-owned-element-18" title="Reference 8">(8)</a> <a href="#ref-for-dfn-owned-element-19" title="Reference 9">(9)</a> <a href="#ref-for-dfn-owned-element-20" title="Reference 10">(10)</a> <a href="#ref-for-dfn-owned-element-21" title="Reference 11">(11)</a> <a href="#ref-for-dfn-owned-element-22" title="Reference 12">(12)</a> <a href="#ref-for-dfn-owned-element-23" title="Reference 13">(13)</a> <a href="#ref-for-dfn-owned-element-24" title="Reference 14">(14)</a> <a href="#ref-for-dfn-owned-element-25" title="Reference 15">(15)</a> <a href="#ref-for-dfn-owned-element-26" title="Reference 16">(16)</a> <a href="#ref-for-dfn-owned-element-27" title="Reference 17">(17)</a> <a href="#ref-for-dfn-owned-element-28" title="Reference 18">(18)</a> </li><li> <a href="#ref-for-dfn-owned-element-29" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-owned-element-30" title="Reference 2">(2)</a> <a href="#ref-for-dfn-owned-element-31" title="Reference 3">(3)</a> <a href="#ref-for-dfn-owned-element-32" title="Reference 4">(4)</a> <a href="#ref-for-dfn-owned-element-33" title="Reference 5">(5)</a> </li><li> <a href="#ref-for-dfn-owned-element-34" title="§ 9.2 States and Properties">§ 9.2 States and Properties</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-owning-element" aria-label="Links in this document to definition: Owning Element"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-owning-element" aria-label="Permalink for definition: Owning Element. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-perceivable" aria-label="Links in this document to definition: Perceivable"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-perceivable" aria-label="Permalink for definition: Perceivable. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-perceivable-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> <a href="#ref-for-dfn-perceivable-2" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-perceivable-3" title="§ 2. Important Terms">§ 2. Important Terms</a> </li><li> <a href="#ref-for-dfn-perceivable-4" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-perceivable-5" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-perceivable-6" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-property" aria-label="Links in this document to definition: Property"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-property" aria-label="Permalink for definition: Property. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-property-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-property-2" title="§ 1.5.1 Authoring Tools">§ 1.5.1 Authoring Tools</a> </li><li> <a href="#ref-for-dfn-property-3" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-property-4" title="Reference 2">(2)</a> <a href="#ref-for-dfn-property-5" title="Reference 3">(3)</a> <a href="#ref-for-dfn-property-6" title="Reference 4">(4)</a> </li><li> <a href="#ref-for-dfn-property-7" title="§ 3.3 Assistive Technology Notifications Communicated to Web Applications">§ 3.3 Assistive Technology Notifications Communicated to Web Applications</a> </li><li> <a href="#ref-for-dfn-property-8" title="§ 4. Using WAI-ARIA">§ 4. Using WAI-ARIA</a> </li><li> <a href="#ref-for-dfn-property-9" title="§ 4.1 WAI-ARIA Roles">§ 4.1 WAI-ARIA Roles</a> </li><li> <a href="#ref-for-dfn-property-10" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li><li> <a href="#ref-for-dfn-property-11" title="§ 5.2.2 Required States and Properties">§ 5.2.2 Required States and Properties</a> </li><li> <a href="#ref-for-dfn-property-12" title="§ 5.2.3 Supported States and Properties">§ 5.2.3 Supported States and Properties</a> </li><li> <a href="#ref-for-dfn-property-13" title="§ 5.2.4 Inherited States and Properties">§ 5.2.4 Inherited States and Properties</a> </li><li> <a href="#ref-for-dfn-property-14" title="§ 6.1 Clarification of States versus Properties">§ 6.1 Clarification of States versus Properties</a> </li><li> <a href="#ref-for-dfn-property-15" title="§ 6.2.1 Related Concepts">§ 6.2.1 Related Concepts</a> </li><li> <a href="#ref-for-dfn-property-16" title="§ 6.2.2 Used in Roles">§ 6.2.2 Used in Roles</a> </li><li> <a href="#ref-for-dfn-property-17" title="§ 6.2.3 Inherits into Roles">§ 6.2.3 Inherits into Roles</a> </li><li> <a href="#ref-for-dfn-property-18" title="§ 6.2.4 Value">§ 6.2.4 Value</a> </li><li> <a href="#ref-for-dfn-property-19" title="§ 6.4 Translatable States and Properties">§ 6.4 Translatable States and Properties</a> </li><li> <a href="#ref-for-dfn-property-20" title="§ 6.5 Global States and Properties">§ 6.5 Global States and Properties</a> </li><li> <a href="#ref-for-dfn-property-21" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-property-22" title="Reference 2">(2)</a> <a href="#ref-for-dfn-property-23" title="Reference 3">(3)</a> <a href="#ref-for-dfn-property-24" title="Reference 4">(4)</a> <a href="#ref-for-dfn-property-25" title="Reference 5">(5)</a> <a href="#ref-for-dfn-property-26" title="Reference 6">(6)</a> <a href="#ref-for-dfn-property-27" title="Reference 7">(7)</a> <a href="#ref-for-dfn-property-28" title="Reference 8">(8)</a> <a href="#ref-for-dfn-property-29" title="Reference 9">(9)</a> </li><li> <a href="#ref-for-dfn-property-30" title="§ 7. Accessibility Tree">§ 7. Accessibility Tree</a> </li><li> <a href="#ref-for-dfn-property-31" title="§ 8. Implementation in Host Languages">§ 8. Implementation in Host Languages</a> </li><li> <a href="#ref-for-dfn-property-32" title="§ 9.2 States and Properties">§ 9.2 States and Properties</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-relationship" aria-label="Links in this document to definition: Relationship"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-relationship" aria-label="Permalink for definition: Relationship. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-relationship-1" title="§ 1. Introduction">§ 1. Introduction</a> </li><li> <a href="#ref-for-dfn-relationship-2" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-relationship-3" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-relationship-4" title="Reference 2">(2)</a> <a href="#ref-for-dfn-relationship-5" title="Reference 3">(3)</a> <a href="#ref-for-dfn-relationship-6" title="Reference 4">(4)</a> <a href="#ref-for-dfn-relationship-7" title="Reference 5">(5)</a> <a href="#ref-for-dfn-relationship-8" title="Reference 6">(6)</a> <a href="#ref-for-dfn-relationship-9" title="Reference 7">(7)</a> <a href="#ref-for-dfn-relationship-10" title="Reference 8">(8)</a> </li><li> <a href="#ref-for-dfn-relationship-11" title="§ 6.6.4 Relationship Attributes">§ 6.6.4 Relationship Attributes</a> </li><li> <a href="#ref-for-dfn-relationship-12" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-relationship-13" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-relationship-14" title="§ 7. Accessibility Tree">§ 7. Accessibility Tree</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-role" aria-label="Links in this document to definition: Role"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-role" aria-label="Permalink for definition: Role. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-role-1" title="§ 1. Introduction">§ 1. Introduction</a> </li><li> <a href="#ref-for-dfn-role-2" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> <a href="#ref-for-dfn-role-3" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-role-4" title="§ 1.5.1 Authoring Tools">§ 1.5.1 Authoring Tools</a> </li><li> <a href="#ref-for-dfn-role-5" title="§ 2. Important Terms">§ 2. Important Terms</a> </li><li> <a href="#ref-for-dfn-role-6" title="§ 4. Using WAI-ARIA">§ 4. Using WAI-ARIA</a> </li><li> <a href="#ref-for-dfn-role-7" title="§ 4.1 WAI-ARIA Roles">§ 4.1 WAI-ARIA Roles</a> <a href="#ref-for-dfn-role-8" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-role-9" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li><li> <a href="#ref-for-dfn-role-10" title="§ 4.3.2 Information for User Agents">§ 4.3.2 Information for User Agents</a> <a href="#ref-for-dfn-role-11" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-role-12" title="§ 5. The Roles Model">§ 5. The Roles Model</a> </li><li> <a href="#ref-for-dfn-role-13" title="§ 5.1.1 Superclass Role">§ 5.1.1 Superclass Role</a> </li><li> <a href="#ref-for-dfn-role-14" title="§ 5.1.2 Subclass Roles">§ 5.1.2 Subclass Roles</a> </li><li> <a href="#ref-for-dfn-role-15" title="§ 5.1.4 Base Concept">§ 5.1.4 Base Concept</a> </li><li> <a href="#ref-for-dfn-role-16" title="§ 5.2.1 Abstract Roles">§ 5.2.1 Abstract Roles</a> </li><li> <a href="#ref-for-dfn-role-17" title="§ 5.2.2 Required States and Properties">§ 5.2.2 Required States and Properties</a> </li><li> <a href="#ref-for-dfn-role-18" title="§ 5.2.3 Supported States and Properties">§ 5.2.3 Supported States and Properties</a> </li><li> <a href="#ref-for-dfn-role-19" title="§ 5.2.4 Inherited States and Properties">§ 5.2.4 Inherited States and Properties</a> </li><li> <a href="#ref-for-dfn-role-20" title="§ 5.2.5 Prohibited States and Properties">§ 5.2.5 Prohibited States and Properties</a> </li><li> <a href="#ref-for-dfn-role-21" title="§ 5.2.6 Required Owned Elements">§ 5.2.6 Required Owned Elements</a> </li><li> <a href="#ref-for-dfn-role-22" title="§ 5.2.7 Required Context Role">§ 5.2.7 Required Context Role</a> </li><li> <a href="#ref-for-dfn-role-23" title="§ 5.2.8 Accessible Name Calculation">§ 5.2.8 Accessible Name Calculation</a> </li><li> <a href="#ref-for-dfn-role-24" title="§ 5.3 Categorization of Roles">§ 5.3 Categorization of Roles</a> </li><li> <a href="#ref-for-dfn-role-25" title="§ 5.3.1 Abstract Roles">§ 5.3.1 Abstract Roles</a> </li><li> <a href="#ref-for-dfn-role-26" title="§ 5.3.3 Document Structure Roles">§ 5.3.3 Document Structure Roles</a> </li><li> <a href="#ref-for-dfn-role-27" title="§ 5.3.4 Landmark Roles">§ 5.3.4 Landmark Roles</a> </li><li> <a href="#ref-for-dfn-role-28" title="§ 5.3.5 Live Region Roles">§ 5.3.5 Live Region Roles</a> </li><li> <a href="#ref-for-dfn-role-29" title="§ 5.3.6 Window Roles">§ 5.3.6 Window Roles</a> </li><li> <a href="#ref-for-dfn-role-30" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-role-31" title="Reference 2">(2)</a> <a href="#ref-for-dfn-role-32" title="Reference 3">(3)</a> <a href="#ref-for-dfn-role-33" title="Reference 4">(4)</a> <a href="#ref-for-dfn-role-34" title="Reference 5">(5)</a> <a href="#ref-for-dfn-role-35" title="Reference 6">(6)</a> <a href="#ref-for-dfn-role-36" title="Reference 7">(7)</a> <a href="#ref-for-dfn-role-37" title="Reference 8">(8)</a> <a href="#ref-for-dfn-role-38" title="Reference 9">(9)</a> <a href="#ref-for-dfn-role-39" title="Reference 10">(10)</a> <a href="#ref-for-dfn-role-40" title="Reference 11">(11)</a> <a href="#ref-for-dfn-role-41" title="Reference 12">(12)</a> <a href="#ref-for-dfn-role-42" title="Reference 13">(13)</a> <a href="#ref-for-dfn-role-43" title="Reference 14">(14)</a> <a href="#ref-for-dfn-role-44" title="Reference 15">(15)</a> <a href="#ref-for-dfn-role-45" title="Reference 16">(16)</a> <a href="#ref-for-dfn-role-46" title="Reference 17">(17)</a> <a href="#ref-for-dfn-role-47" title="Reference 18">(18)</a> <a href="#ref-for-dfn-role-48" title="Reference 19">(19)</a> <a href="#ref-for-dfn-role-49" title="Reference 20">(20)</a> <a href="#ref-for-dfn-role-50" title="Reference 21">(21)</a> <a href="#ref-for-dfn-role-51" title="Reference 22">(22)</a> <a href="#ref-for-dfn-role-52" title="Reference 23">(23)</a> <a href="#ref-for-dfn-role-53" title="Reference 24">(24)</a> <a href="#ref-for-dfn-role-54" title="Reference 25">(25)</a> <a href="#ref-for-dfn-role-55" title="Reference 26">(26)</a> <a href="#ref-for-dfn-role-56" title="Reference 27">(27)</a> <a href="#ref-for-dfn-role-57" title="Reference 28">(28)</a> <a href="#ref-for-dfn-role-58" title="Reference 29">(29)</a> <a href="#ref-for-dfn-role-59" title="Reference 30">(30)</a> <a href="#ref-for-dfn-role-60" title="Reference 31">(31)</a> <a href="#ref-for-dfn-role-61" title="Reference 32">(32)</a> <a href="#ref-for-dfn-role-62" title="Reference 33">(33)</a> <a href="#ref-for-dfn-role-63" title="Reference 34">(34)</a> <a href="#ref-for-dfn-role-64" title="Reference 35">(35)</a> <a href="#ref-for-dfn-role-65" title="Reference 36">(36)</a> <a href="#ref-for-dfn-role-66" title="Reference 37">(37)</a> <a href="#ref-for-dfn-role-67" title="Reference 38">(38)</a> <a href="#ref-for-dfn-role-68" title="Reference 39">(39)</a> <a href="#ref-for-dfn-role-69" title="Reference 40">(40)</a> <a href="#ref-for-dfn-role-70" title="Reference 41">(41)</a> <a href="#ref-for-dfn-role-71" title="Reference 42">(42)</a> <a href="#ref-for-dfn-role-72" title="Reference 43">(43)</a> <a href="#ref-for-dfn-role-73" title="Reference 44">(44)</a> <a href="#ref-for-dfn-role-74" title="Reference 45">(45)</a> <a href="#ref-for-dfn-role-75" title="Reference 46">(46)</a> <a href="#ref-for-dfn-role-76" title="Reference 47">(47)</a> <a href="#ref-for-dfn-role-77" title="Reference 48">(48)</a> <a href="#ref-for-dfn-role-78" title="Reference 49">(49)</a> <a href="#ref-for-dfn-role-79" title="Reference 50">(50)</a> </li><li> <a href="#ref-for-dfn-role-80" title="§ 6.1 Clarification of States versus Properties">§ 6.1 Clarification of States versus Properties</a> </li><li> <a href="#ref-for-dfn-role-81" title="§ 6.5 Global States and Properties">§ 6.5 Global States and Properties</a> </li><li> <a href="#ref-for-dfn-role-82" title="§ 6.6.2 Live Region Attributes">§ 6.6.2 Live Region Attributes</a> </li><li> <a href="#ref-for-dfn-role-83" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-role-84" title="Reference 2">(2)</a> <a href="#ref-for-dfn-role-85" title="Reference 3">(3)</a> </li><li> <a href="#ref-for-dfn-role-86" title="§ 8. Implementation in Host Languages">§ 8. Implementation in Host Languages</a> </li><li> <a href="#ref-for-dfn-role-87" title="§ 8.1 Role Attribute">§ 8.1 Role Attribute</a> </li><li> <a href="#ref-for-dfn-role-88" title="§ 9.1 Roles">§ 9.1 Roles</a> <a href="#ref-for-dfn-role-89" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-role-90" title="§ 9.2 States and Properties">§ 9.2 States and Properties</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-root-wai-aria-node" aria-label="Links in this document to definition: Root WAI-ARIA node"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-root-wai-aria-node" aria-label="Permalink for definition: Root WAI-ARIA node. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-semantics" aria-label="Links in this document to definition: Semantics"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-semantics" aria-label="Permalink for definition: Semantics. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-semantics-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-semantics-2" title="§ 2. Important Terms">§ 2. Important Terms</a> </li><li> <a href="#ref-for-dfn-semantics-3" title="§ 4. Using WAI-ARIA">§ 4. Using WAI-ARIA</a> </li><li> <a href="#ref-for-dfn-semantics-4" title="§ 4.3.1 Information for Authors">§ 4.3.1 Information for Authors</a> </li><li> <a href="#ref-for-dfn-semantics-5" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> </li><li> <a href="#ref-for-dfn-semantics-6" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> </li><li> <a href="#ref-for-dfn-semantics-7" title="§ 8.4 Implicit WAI-ARIA Semantics">§ 8.4 Implicit WAI-ARIA Semantics</a> </li><li> <a href="#ref-for-dfn-semantics-8" title="§ 8.5 Conflicts with Host Language Semantics">§ 8.5 Conflicts with Host Language Semantics</a> </li><li> <a href="#ref-for-dfn-semantics-9" title="§ 8.6 State and Property Attribute Processing">§ 8.6 State and Property Attribute Processing</a> </li><li> <a href="#ref-for-dfn-semantics-10" title="§ 8.7 CSS Selectors">§ 8.7 CSS Selectors</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-state" aria-label="Links in this document to definition: State"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-state" aria-label="Permalink for definition: State. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-state-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-state-2" title="§ 1.5.1 Authoring Tools">§ 1.5.1 Authoring Tools</a> </li><li> <a href="#ref-for-dfn-state-3" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-state-4" title="Reference 2">(2)</a> <a href="#ref-for-dfn-state-5" title="Reference 3">(3)</a> <a href="#ref-for-dfn-state-6" title="Reference 4">(4)</a> <a href="#ref-for-dfn-state-7" title="Reference 5">(5)</a> <a href="#ref-for-dfn-state-8" title="Reference 6">(6)</a> </li><li> <a href="#ref-for-dfn-state-9" title="§ 3.3 Assistive Technology Notifications Communicated to Web Applications">§ 3.3 Assistive Technology Notifications Communicated to Web Applications</a> </li><li> <a href="#ref-for-dfn-state-10" title="§ 4. Using WAI-ARIA">§ 4. Using WAI-ARIA</a> </li><li> <a href="#ref-for-dfn-state-11" title="§ 4.1 WAI-ARIA Roles">§ 4.1 WAI-ARIA Roles</a> </li><li> <a href="#ref-for-dfn-state-12" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li><li> <a href="#ref-for-dfn-state-13" title="§ 5.2.2 Required States and Properties">§ 5.2.2 Required States and Properties</a> </li><li> <a href="#ref-for-dfn-state-14" title="§ 5.2.3 Supported States and Properties">§ 5.2.3 Supported States and Properties</a> </li><li> <a href="#ref-for-dfn-state-15" title="§ 5.2.4 Inherited States and Properties">§ 5.2.4 Inherited States and Properties</a> </li><li> <a href="#ref-for-dfn-state-16" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> </li><li> <a href="#ref-for-dfn-state-17" title="§ 6.1 Clarification of States versus Properties">§ 6.1 Clarification of States versus Properties</a> </li><li> <a href="#ref-for-dfn-state-18" title="§ 6.2.1 Related Concepts">§ 6.2.1 Related Concepts</a> </li><li> <a href="#ref-for-dfn-state-19" title="§ 6.2.2 Used in Roles">§ 6.2.2 Used in Roles</a> </li><li> <a href="#ref-for-dfn-state-20" title="§ 6.2.3 Inherits into Roles">§ 6.2.3 Inherits into Roles</a> </li><li> <a href="#ref-for-dfn-state-21" title="§ 6.2.4 Value">§ 6.2.4 Value</a> </li><li> <a href="#ref-for-dfn-state-22" title="§ 6.4 Translatable States and Properties">§ 6.4 Translatable States and Properties</a> </li><li> <a href="#ref-for-dfn-state-23" title="§ 6.5 Global States and Properties">§ 6.5 Global States and Properties</a> </li><li> <a href="#ref-for-dfn-state-24" title="§ 6.6.1 Widget Attributes">§ 6.6.1 Widget Attributes</a> </li><li> <a href="#ref-for-dfn-state-25" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-state-26" title="Reference 2">(2)</a> <a href="#ref-for-dfn-state-27" title="Reference 3">(3)</a> <a href="#ref-for-dfn-state-28" title="Reference 4">(4)</a> <a href="#ref-for-dfn-state-29" title="Reference 5">(5)</a> <a href="#ref-for-dfn-state-30" title="Reference 6">(6)</a> <a href="#ref-for-dfn-state-31" title="Reference 7">(7)</a> </li><li> <a href="#ref-for-dfn-state-32" title="§ 8. Implementation in Host Languages">§ 8. Implementation in Host Languages</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-sub-document" aria-label="Links in this document to definition: Sub-document"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-sub-document" aria-label="Permalink for definition: Sub-document. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-target-element" aria-label="Links in this document to definition: Target Element"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-target-element" aria-label="Permalink for definition: Target Element. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-taxonomy" aria-label="Links in this document to definition: Taxonomy"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-taxonomy" aria-label="Permalink for definition: Taxonomy. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-text-node" aria-label="Links in this document to definition: Text node"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-text-node" aria-label="Permalink for definition: Text node. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-text-node-1" title="§ 2. Important Terms">§ 2. Important Terms</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-tooltip-attribute" aria-label="Links in this document to definition: Tooltip attribute"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-tooltip-attribute" aria-label="Permalink for definition: Tooltip attribute. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-understandable" aria-label="Links in this document to definition: Understandable"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-understandable" aria-label="Permalink for definition: Understandable. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-unicode-braille" aria-label="Links in this document to definition: Unicode Braille Patterns"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-unicode-braille" aria-label="Permalink for definition: Unicode Braille Patterns. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-user-agent" aria-label="Links in this document to definition: User Agent"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-user-agent" aria-label="Permalink for definition: User Agent. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-user-agent-1" title="§ 1. Introduction">§ 1. Introduction</a> </li><li> <a href="#ref-for-dfn-user-agent-2" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> </li><li> <a href="#ref-for-dfn-user-agent-3" title="§ 1.2 Target Audience">§ 1.2 Target Audience</a> <a href="#ref-for-dfn-user-agent-4" title="Reference 2">(2)</a> <a href="#ref-for-dfn-user-agent-5" title="Reference 3">(3)</a> </li><li> <a href="#ref-for-dfn-user-agent-6" title="§ 1.3 User Agent Support">§ 1.3 User Agent Support</a> </li><li> <a href="#ref-for-dfn-user-agent-7" title="§ 2. Important Terms">§ 2. Important Terms</a> <a href="#ref-for-dfn-user-agent-8" title="Reference 2">(2)</a> <a href="#ref-for-dfn-user-agent-9" title="Reference 3">(3)</a> </li><li> <a href="#ref-for-dfn-user-agent-10" title="§ 3. Conformance">§ 3. Conformance</a> </li><li> <a href="#ref-for-dfn-user-agent-11" title="§ 3.1 Non-interference with the Host Language">§ 3.1 Non-interference with the Host Language</a> </li><li> <a href="#ref-for-dfn-user-agent-12" title="§ 3.2 All WAI-ARIA in DOM">§ 3.2 All WAI-ARIA in DOM</a> </li><li> <a href="#ref-for-dfn-user-agent-13" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li><li> <a href="#ref-for-dfn-user-agent-14" title="§ 4.3.2 Information for User Agents">§ 4.3.2 Information for User Agents</a> </li><li> <a href="#ref-for-dfn-user-agent-15" title="§ 5.2 Characteristics of Roles">§ 5.2 Characteristics of Roles</a> </li><li> <a href="#ref-for-dfn-user-agent-16" title="§ 5.2.3 Supported States and Properties">§ 5.2.3 Supported States and Properties</a> <a href="#ref-for-dfn-user-agent-17" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-user-agent-18" title="§ 5.2.9 Presentational Children">§ 5.2.9 Presentational Children</a> <a href="#ref-for-dfn-user-agent-19" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-user-agent-20" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-user-agent-21" title="Reference 2">(2)</a> <a href="#ref-for-dfn-user-agent-22" title="Reference 3">(3)</a> <a href="#ref-for-dfn-user-agent-23" title="Reference 4">(4)</a> <a href="#ref-for-dfn-user-agent-24" title="Reference 5">(5)</a> <a href="#ref-for-dfn-user-agent-25" title="Reference 6">(6)</a> <a href="#ref-for-dfn-user-agent-26" title="Reference 7">(7)</a> <a href="#ref-for-dfn-user-agent-27" title="Reference 8">(8)</a> <a href="#ref-for-dfn-user-agent-28" title="Reference 9">(9)</a> <a href="#ref-for-dfn-user-agent-29" title="Reference 10">(10)</a> <a href="#ref-for-dfn-user-agent-30" title="Reference 11">(11)</a> <a href="#ref-for-dfn-user-agent-31" title="Reference 12">(12)</a> <a href="#ref-for-dfn-user-agent-32" title="Reference 13">(13)</a> <a href="#ref-for-dfn-user-agent-33" title="Reference 14">(14)</a> <a href="#ref-for-dfn-user-agent-34" title="Reference 15">(15)</a> <a href="#ref-for-dfn-user-agent-35" title="Reference 16">(16)</a> <a href="#ref-for-dfn-user-agent-36" title="Reference 17">(17)</a> </li><li> <a href="#ref-for-dfn-user-agent-37" title="§ 6.6.1 Widget Attributes">§ 6.6.1 Widget Attributes</a> </li><li> <a href="#ref-for-dfn-user-agent-38" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-user-agent-39" title="Reference 2">(2)</a> <a href="#ref-for-dfn-user-agent-40" title="Reference 3">(3)</a> <a href="#ref-for-dfn-user-agent-41" title="Reference 4">(4)</a> <a href="#ref-for-dfn-user-agent-42" title="Reference 5">(5)</a> <a href="#ref-for-dfn-user-agent-43" title="Reference 6">(6)</a> <a href="#ref-for-dfn-user-agent-44" title="Reference 7">(7)</a> <a href="#ref-for-dfn-user-agent-45" title="Reference 8">(8)</a> <a href="#ref-for-dfn-user-agent-46" title="Reference 9">(9)</a> <a href="#ref-for-dfn-user-agent-47" title="Reference 10">(10)</a> <a href="#ref-for-dfn-user-agent-48" title="Reference 11">(11)</a> <a href="#ref-for-dfn-user-agent-49" title="Reference 12">(12)</a> <a href="#ref-for-dfn-user-agent-50" title="Reference 13">(13)</a> <a href="#ref-for-dfn-user-agent-51" title="Reference 14">(14)</a> <a href="#ref-for-dfn-user-agent-52" title="Reference 15">(15)</a> <a href="#ref-for-dfn-user-agent-53" title="Reference 16">(16)</a> </li><li> <a href="#ref-for-dfn-user-agent-54" title="§ 7. Accessibility Tree">§ 7. Accessibility Tree</a> </li><li> <a href="#ref-for-dfn-user-agent-55" title="§ 8.6.1 ID Reference Error Processing">§ 8.6.1 ID Reference Error Processing</a> </li><li> <a href="#ref-for-dfn-user-agent-56" title="§ 9.2 States and Properties">§ 9.2 States and Properties</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-valid-idref" aria-label="Links in this document to definition: Valid IDREF"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-valid-idref" aria-label="Permalink for definition: Valid IDREF. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-valid-idref-1" title="§ 9.2 States and Properties">§ 9.2 States and Properties</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-widget" aria-label="Links in this document to definition: Widget"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-widget" aria-label="Permalink for definition: Widget. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-widget-1" title="§ 1.1 Rich Internet Application Accessibility">§ 1.1 Rich Internet Application Accessibility</a> <a href="#ref-for-dfn-widget-2" title="Reference 2">(2)</a> <a href="#ref-for-dfn-widget-3" title="Reference 3">(3)</a> </li><li> <a href="#ref-for-dfn-widget-4" title="§ 1.5.2 Testing Practices and Tools">§ 1.5.2 Testing Practices and Tools</a> </li><li> <a href="#ref-for-dfn-widget-5" title="§ 2. Important Terms">§ 2. Important Terms</a> </li><li> <a href="#ref-for-dfn-widget-6" title="§ 4.2 WAI-ARIA States and Properties">§ 4.2 WAI-ARIA States and Properties</a> </li><li> <a href="#ref-for-dfn-widget-7" title="§ 4.3 Managing Focus and Supporting Keyboard Navigation">§ 4.3 Managing Focus and Supporting Keyboard Navigation</a> <a href="#ref-for-dfn-widget-8" title="Reference 2">(2)</a> </li><li> <a href="#ref-for-dfn-widget-9" title="§ 5.1.3 Related Concepts">§ 5.1.3 Related Concepts</a> </li><li> <a href="#ref-for-dfn-widget-10" title="§ 5.2 Characteristics of Roles">§ 5.2 Characteristics of Roles</a> </li><li> <a href="#ref-for-dfn-widget-11" title="§ 5.3 Categorization of Roles">§ 5.3 Categorization of Roles</a> </li><li> <a href="#ref-for-dfn-widget-12" title="§ 5.4 Definition of Roles">§ 5.4 Definition of Roles</a> <a href="#ref-for-dfn-widget-13" title="Reference 2">(2)</a> <a href="#ref-for-dfn-widget-14" title="Reference 3">(3)</a> <a href="#ref-for-dfn-widget-15" title="Reference 4">(4)</a> <a href="#ref-for-dfn-widget-16" title="Reference 5">(5)</a> <a href="#ref-for-dfn-widget-17" title="Reference 6">(6)</a> <a href="#ref-for-dfn-widget-18" title="Reference 7">(7)</a> <a href="#ref-for-dfn-widget-19" title="Reference 8">(8)</a> <a href="#ref-for-dfn-widget-20" title="Reference 9">(9)</a> <a href="#ref-for-dfn-widget-21" title="Reference 10">(10)</a> <a href="#ref-for-dfn-widget-22" title="Reference 11">(11)</a> <a href="#ref-for-dfn-widget-23" title="Reference 12">(12)</a> </li><li> <a href="#ref-for-dfn-widget-24" title="§ 6.7 Definitions of States and Properties (all aria-* attributes)">§ 6.7 Definitions of States and Properties (all aria-* attributes)</a> <a href="#ref-for-dfn-widget-25" title="Reference 2">(2)</a> <a href="#ref-for-dfn-widget-26" title="Reference 3">(3)</a> <a href="#ref-for-dfn-widget-27" title="Reference 4">(4)</a> <a href="#ref-for-dfn-widget-28" title="Reference 5">(5)</a> <a href="#ref-for-dfn-widget-29" title="Reference 6">(6)</a> <a href="#ref-for-dfn-widget-30" title="Reference 7">(7)</a> <a href="#ref-for-dfn-widget-31" title="Reference 8">(8)</a> <a href="#ref-for-dfn-widget-32" title="Reference 9">(9)</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-token-list" aria-label="Links in this document to definition: token list"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-token-list" aria-label="Permalink for definition: token list. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li>Not referenced in this document.</li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin" aria-label="Links in this document to definition: ARIAMixin"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin" aria-label="Permalink for definition: ARIAMixin. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li><li> <a href="#ref-for-dom-ariamixin-2" title="§ 10.3 ARIAMixin Mixed in to Element">§ 10.3 ARIAMixin Mixed in to Element</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-ariamixin-getter-steps" aria-label="Links in this document to definition: ARIAMixin getter steps"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-ariamixin-getter-steps" aria-label="Permalink for definition: ARIAMixin getter steps. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-ariamixin-getter-steps-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li><li> <a href="#ref-for-dfn-ariamixin-getter-steps-2" title="§ 10.3 ARIAMixin Mixed in to Element">§ 10.3 ARIAMixin Mixed in to Element</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-ariamixin-setter-steps" aria-label="Links in this document to definition: ARIAMixin setter steps"> <span class="caret"></span> <div> <a class="self-link" href="#dfn-ariamixin-setter-steps" aria-label="Permalink for definition: ARIAMixin setter steps. Activate to close this dialog.">Permalink</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dfn-ariamixin-setter-steps-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li><li> <a href="#ref-for-dfn-ariamixin-setter-steps-2" title="§ 10.3 ARIAMixin Mixed in to Element">§ 10.3 ARIAMixin Mixed in to Element</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-role" aria-label="Links in this document to definition: role"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-role" aria-label="Permalink for definition: role. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-role-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariaatomic" aria-label="Links in this document to definition: ariaAtomic"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariaatomic" aria-label="Permalink for definition: ariaAtomic. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariaatomic-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariaautocomplete" aria-label="Links in this document to definition: ariaAutoComplete"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariaautocomplete" aria-label="Permalink for definition: ariaAutoComplete. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariaautocomplete-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariabusy" aria-label="Links in this document to definition: ariaBusy"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariabusy" aria-label="Permalink for definition: ariaBusy. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariabusy-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariachecked" aria-label="Links in this document to definition: ariaChecked"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariachecked" aria-label="Permalink for definition: ariaChecked. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariachecked-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariacolcount" aria-label="Links in this document to definition: ariaColCount"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariacolcount" aria-label="Permalink for definition: ariaColCount. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariacolcount-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariacolindex" aria-label="Links in this document to definition: ariaColIndex"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariacolindex" aria-label="Permalink for definition: ariaColIndex. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariacolindex-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariacolspan" aria-label="Links in this document to definition: ariaColSpan"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariacolspan" aria-label="Permalink for definition: ariaColSpan. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariacolspan-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariacurrent" aria-label="Links in this document to definition: ariaCurrent"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariacurrent" aria-label="Permalink for definition: ariaCurrent. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariacurrent-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariadisabled" aria-label="Links in this document to definition: ariaDisabled"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariadisabled" aria-label="Permalink for definition: ariaDisabled. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariadisabled-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariaexpanded" aria-label="Links in this document to definition: ariaExpanded"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariaexpanded" aria-label="Permalink for definition: ariaExpanded. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariaexpanded-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariahaspopup" aria-label="Links in this document to definition: ariaHasPopup"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariahaspopup" aria-label="Permalink for definition: ariaHasPopup. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariahaspopup-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariahidden" aria-label="Links in this document to definition: ariaHidden"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariahidden" aria-label="Permalink for definition: ariaHidden. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariahidden-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariainvalid" aria-label="Links in this document to definition: ariaInvalid"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariainvalid" aria-label="Permalink for definition: ariaInvalid. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariainvalid-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariakeyshortcuts" aria-label="Links in this document to definition: ariaKeyShortcuts"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariakeyshortcuts" aria-label="Permalink for definition: ariaKeyShortcuts. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariakeyshortcuts-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-arialabel" aria-label="Links in this document to definition: ariaLabel"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-arialabel" aria-label="Permalink for definition: ariaLabel. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-arialabel-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-arialevel" aria-label="Links in this document to definition: ariaLevel"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-arialevel" aria-label="Permalink for definition: ariaLevel. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-arialevel-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-arialive" aria-label="Links in this document to definition: ariaLive"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-arialive" aria-label="Permalink for definition: ariaLive. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-arialive-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariamodal" aria-label="Links in this document to definition: ariaModal"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariamodal" aria-label="Permalink for definition: ariaModal. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariamodal-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariamultiline" aria-label="Links in this document to definition: ariaMultiLine"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariamultiline" aria-label="Permalink for definition: ariaMultiLine. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariamultiline-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariamultiselectable" aria-label="Links in this document to definition: ariaMultiSelectable"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariamultiselectable" aria-label="Permalink for definition: ariaMultiSelectable. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariamultiselectable-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariaorientation" aria-label="Links in this document to definition: ariaOrientation"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariaorientation" aria-label="Permalink for definition: ariaOrientation. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariaorientation-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariaplaceholder" aria-label="Links in this document to definition: ariaPlaceholder"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariaplaceholder" aria-label="Permalink for definition: ariaPlaceholder. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariaplaceholder-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariaposinset" aria-label="Links in this document to definition: ariaPosInSet"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariaposinset" aria-label="Permalink for definition: ariaPosInSet. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariaposinset-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariapressed" aria-label="Links in this document to definition: ariaPressed"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariapressed" aria-label="Permalink for definition: ariaPressed. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariapressed-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariareadonly" aria-label="Links in this document to definition: ariaReadOnly"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariareadonly" aria-label="Permalink for definition: ariaReadOnly. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariareadonly-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariarequired" aria-label="Links in this document to definition: ariaRequired"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariarequired" aria-label="Permalink for definition: ariaRequired. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariarequired-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariaroledescription" aria-label="Links in this document to definition: ariaRoleDescription"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariaroledescription" aria-label="Permalink for definition: ariaRoleDescription. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariaroledescription-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariarowcount" aria-label="Links in this document to definition: ariaRowCount"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariarowcount" aria-label="Permalink for definition: ariaRowCount. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariarowcount-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariarowindex" aria-label="Links in this document to definition: ariaRowIndex"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariarowindex" aria-label="Permalink for definition: ariaRowIndex. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariarowindex-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariarowspan" aria-label="Links in this document to definition: ariaRowSpan"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariarowspan" aria-label="Permalink for definition: ariaRowSpan. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariarowspan-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariaselected" aria-label="Links in this document to definition: ariaSelected"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariaselected" aria-label="Permalink for definition: ariaSelected. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariaselected-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariasetsize" aria-label="Links in this document to definition: ariaSetSize"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariasetsize" aria-label="Permalink for definition: ariaSetSize. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariasetsize-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariasort" aria-label="Links in this document to definition: ariaSort"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariasort" aria-label="Permalink for definition: ariaSort. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariasort-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariavaluemax" aria-label="Links in this document to definition: ariaValueMax"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariavaluemax" aria-label="Permalink for definition: ariaValueMax. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariavaluemax-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariavaluemin" aria-label="Links in this document to definition: ariaValueMin"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariavaluemin" aria-label="Permalink for definition: ariaValueMin. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariavaluemin-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariavaluenow" aria-label="Links in this document to definition: ariaValueNow"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariavaluenow" aria-label="Permalink for definition: ariaValueNow. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariavaluenow-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dom-ariamixin-ariavaluetext" aria-label="Links in this document to definition: ariaValueText"> <span class="caret"></span> <div> <a class="self-link" href="#dom-ariamixin-ariavaluetext" aria-label="Permalink for definition: ariaValueText. Activate to close this dialog.">Permalink</a> <span class="marker dfn-exported" title="Definition can be referenced by other specifications">exported</span> <a class="marker idl-block" title="Jump to IDL declaration" href="#webidl-1125957517">IDL</a> </div> <p><b>Referenced in:</b></p> <ul> <li> <a href="#ref-for-dom-ariamixin-ariavaluetext-1" title="§ 10.1 Interface Mixin ARIAMixin">§ 10.1 Interface Mixin ARIAMixin</a> </li> </ul> </div><script id="respec-dfn-panel">(() => { // @ts-check if (document.respec) { document.respec.ready.then(setupPanel); } else { setupPanel(); } function setupPanel() { const listener = panelListener(); document.body.addEventListener("keydown", listener); document.body.addEventListener("click", listener); } function panelListener() { /** @type {HTMLElement} */ let panel = null; return event => { const { target, type } = event; if (!(target instanceof HTMLElement)) return; // For keys, we only care about Enter key to activate the panel // otherwise it's activated via a click. if (type === "keydown" && event.key !== "Enter") return; const action = deriveAction(event); switch (action) { case "show": { hidePanel(panel); /** @type {HTMLElement} */ const dfn = target.closest("dfn, .index-term"); panel = document.getElementById(`dfn-panel-for-${dfn.id}`); const coords = deriveCoordinates(event); displayPanel(dfn, panel, coords); break; } case "dock": { panel.style.left = null; panel.style.top = null; panel.classList.add("docked"); break; } case "hide": { hidePanel(panel); panel = null; break; } } }; } /** * @param {MouseEvent|KeyboardEvent} event */ function deriveCoordinates(event) { const target = /** @type HTMLElement */ (event.target); // We prevent synthetic AT clicks from putting // the dialog in a weird place. The AT events sometimes // lack coordinates, so they have clientX/Y = 0 const rect = target.getBoundingClientRect(); if ( event instanceof MouseEvent && event.clientX >= rect.left && event.clientY >= rect.top ) { // The event probably happened inside the bounding rect... return { x: event.clientX, y: event.clientY }; } // Offset to the middle of the element const x = rect.x + rect.width / 2; // Placed at the bottom of the element const y = rect.y + rect.height; return { x, y }; } /** * @param {Event} event */ function deriveAction(event) { const target = /** @type {HTMLElement} */ (event.target); const hitALink = !!target.closest("a"); if (target.closest("dfn:not([data-cite]), .index-term")) { return hitALink ? "none" : "show"; } if (target.closest(".dfn-panel")) { if (hitALink) { return target.classList.contains("self-link") ? "hide" : "dock"; } const panel = target.closest(".dfn-panel"); return panel.classList.contains("docked") ? "hide" : "none"; } if (document.querySelector(".dfn-panel:not([hidden])")) { return "hide"; } return "none"; } /** * @param {HTMLElement} dfn * @param {HTMLElement} panel * @param {{ x: number, y: number }} clickPosition */ function displayPanel(dfn, panel, { x, y }) { panel.hidden = false; // distance (px) between edge of panel and the pointing triangle (caret) const MARGIN = 20; const dfnRects = dfn.getClientRects(); // Find the `top` offset when the `dfn` can be spread across multiple lines let closestTop = 0; let minDiff = Infinity; for (const rect of dfnRects) { const { top, bottom } = rect; const diffFromClickY = Math.abs((top + bottom) / 2 - y); if (diffFromClickY < minDiff) { minDiff = diffFromClickY; closestTop = top; } } const top = window.scrollY + closestTop + dfnRects[0].height; const left = x - MARGIN; panel.style.left = `${left}px`; panel.style.top = `${top}px`; // Find if the panel is flowing out of the window const panelRect = panel.getBoundingClientRect(); const SCREEN_WIDTH = Math.min(window.innerWidth, window.screen.width); if (panelRect.right > SCREEN_WIDTH) { const newLeft = Math.max(MARGIN, x + MARGIN - panelRect.width); const newCaretOffset = left - newLeft; panel.style.left = `${newLeft}px`; /** @type {HTMLElement} */ const caret = panel.querySelector(".caret"); caret.style.left = `${newCaretOffset}px`; } // As it's a dialog, we trap focus. // TODO: when <dialog> becomes a implemented, we should really // use that. trapFocus(panel, dfn); } /** * @param {HTMLElement} panel * @param {HTMLElement} dfn * @returns */ function trapFocus(panel, dfn) { /** @type NodeListOf<HTMLAnchorElement> elements */ const anchors = panel.querySelectorAll("a[href]"); // No need to trap focus if (!anchors.length) return; // Move focus to first anchor element const first = anchors.item(0); first.focus(); const trapListener = createTrapListener(anchors, panel, dfn); panel.addEventListener("keydown", trapListener); // Hiding the panel releases the trap const mo = new MutationObserver(records => { const [record] = records; const target = /** @type HTMLElement */ (record.target); if (target.hidden) { panel.removeEventListener("keydown", trapListener); mo.disconnect(); } }); mo.observe(panel, { attributes: true, attributeFilter: ["hidden"] }); } /** * * @param {NodeListOf<HTMLAnchorElement>} anchors * @param {HTMLElement} panel * @param {HTMLElement} dfn * @returns */ function createTrapListener(anchors, panel, dfn) { const lastIndex = anchors.length - 1; let currentIndex = 0; return event => { switch (event.key) { // Hitting "Tab" traps us in a nice loop around elements. case "Tab": { event.preventDefault(); currentIndex += event.shiftKey ? -1 : +1; if (currentIndex < 0) { currentIndex = lastIndex; } else if (currentIndex > lastIndex) { currentIndex = 0; } anchors.item(currentIndex).focus(); break; } // Hitting "Enter" on an anchor releases the trap. case "Enter": hidePanel(panel); break; // Hitting "Escape" returns focus to dfn. case "Escape": hidePanel(panel); dfn.focus(); return; } }; } /** @param {HTMLElement} panel */ function hidePanel(panel) { if (!panel) return; panel.hidden = true; panel.classList.remove("docked"); } })()</script><script src="https://www.w3.org/scripts/TR/2021/fixup.js"></script></body></html>