From 6bf835b4b8c1f4f9bfbd34a3de345712bb882e81 Mon Sep 17 00:00:00 2001
From: Ian Pouncey
- SVG Accessibility API Mappings (SVG-AAM) defines how
- user agents map
- Scalable Vector Graphics (SVG) [[!SVG2]] markup
- to platform accessibility
- application programming interfaces (APIs).
- It is intended for SVG user agent developers
+ SVG Accessibility API Mappings (SVG-AAM) defines how
+ user agents map
+ Scalable Vector Graphics (SVG) [[!SVG2]] markup
+ to platform accessibility
+ application programming interfaces (APIs).
+ It is intended for SVG user agent developers
responsible for SVG accessibility in their user agent.
- This specification allows SVG authors to create accessible rich internet applications,
- including charts, graphs, and other drawings.
- It does this by extending the
- Core Accessibility API Mappings 1.1 (CORE-AAM) [[!CORE-AAM]]
- and the Accessible Name and Description: Computation and API Mappings 1.1 (ACCNAME-AAM) [[!ACCNAME-AAM]] specifications
- for user agents.
- It leverages those core mappings and provides SVG-specific guidance
- to define how the SVG user agent must respond to keyboard focus
- and role, state, and property attributes
- provided in Web content via WAI-ARIA [[!WAI-ARIA]].
- The SVG-AAM also adapts the ACCNAME-AAM
- to make use of standard SVG features
- used to compute accessible names and description information
+ This specification allows SVG authors to create accessible rich internet applications,
+ including charts, graphs, and other drawings.
+ It does this by extending the
+ Core Accessibility API Mappings 1.1 (CORE-AAM) [[!CORE-AAM]]
+ and the Accessible Name and Description: Computation and API Mappings 1.1 (ACCNAME-AAM) [[!ACCNAME-AAM]] specifications
+ for user agents.
+ It leverages those core mappings and provides SVG-specific guidance
+ to define how the SVG user agent must respond to keyboard focus
+ and role, state, and property attributes
+ provided in Web content via WAI-ARIA [[!WAI-ARIA]].
+ The SVG-AAM also adapts the ACCNAME-AAM
+ to make use of standard SVG features
+ used to compute accessible names and description information
exposed by platform accessibility APIs.
- The SVG-AAM is part of the
- WAI-ARIA suite
+ The SVG-AAM is part of the
+ WAI-ARIA suite
described in the WAI-ARIA Overview.
- This is an Editor's Draft of SVG Accessibility API Mappings 1.0 by the SVG Accessibility Task Force, a joint task force of the Accessible Rich Internet Applications Working Group and the SVG Working Group. It extends Core Accessibility API Mappings 1.1 [[!CORE-AAM]] and Accessible Name and Description: Computation and API Mappings 1.1 [[!ACCNAME-AAM]], and is part of a suite of similar technology-specific Accessibility API Mappings specifications. This version expands the set of mappings for SVG features.
+ This is an Editor's Draft of SVG Accessibility API Mappings 1.0 by the SVG Accessibility Task Force, a joint task force of the Accessible Rich Internet Applications Working Group and the SVG Working Group. It extends Core Accessibility API Mappings 1.1 [[!CORE-AAM]] and Accessible Name and Description: Computation and API Mappings 1.1 [[!ACCNAME-AAM]], and is part of a suite of similar technology-specific Accessibility API Mappings specifications. This version expands the set of mappings for SVG features.
- Feedback on any aspect of the specification is accepted.
- For this publication, the SVG Accessibility Task Force
+ Feedback on any aspect of the specification is accepted.
+ For this publication, the SVG Accessibility Task Force
particularly seeks feedback on the following questions:
The editors have highlighted particularly problematic
- aspects of the specification,
+ aspects of the specification,
or areas where further clarification is likely to be required,
in the form of Editor's Notes boxes throughout the text.
Comments on these issues would be particularly appreciated.
- To comment, file an issue in the W3C ARIA GitHub repository, using the "graphics" label in the issue. If this is not feasible, send email to public-svg-a11y@w3.org (comment archive). Comments are requested by 30 September 2016. In-progress updates to the document may be viewed in the publicly visible editors' draft.
+ To comment, file an issue in the W3C SVG Accessibility API Mappings GitHub repository. If this is not feasible, send email to public-svg-a11y@w3.org (comment archive). In-progress updates to the document may be viewed in the publicly visible editors' draft.
- In traditional Graphical User Interface (GUI) applications,
- components of the User Interface (UI) are
- displayed when needed and hidden when not needed
- based on user interactions.
- Accessibility APIs are used to communicate
- semantics
- about the user interface to
- assistive technologies
+ In traditional Graphical User Interface (GUI) applications,
+ components of the User Interface (UI) are
+ displayed when needed and hidden when not needed
+ based on user interactions.
+ Accessibility APIs are used to communicate
+ semantics
+ about the user interface to
+ assistive technologies
used by people with disabilities.
- These APIs constitute
- a contract between applications and assistive technologies,
- such as screen readers, magnifiers, alternate input devices, and speech command and control,
- to enable them to access the appropriate semantics needed to produce
- a usable alternative to interactive applications or complex documents.
- For example, screen-reading software for blind users can determine
- whether a particular UI component
+ These APIs constitute
+ a contract between applications and assistive technologies,
+ such as screen readers, magnifiers, alternate input devices, and speech command and control,
+ to enable them to access the appropriate semantics needed to produce
+ a usable alternative to interactive applications or complex documents.
+ For example, screen-reading software for blind users can determine
+ whether a particular UI component
is a menu, button, text field, list box, etc.
It can also present the information in tables or lists
in a way that provides context for each piece of text.
-
@@ -227,7 +227,7 @@
rendering behavior such as views, re-used graphics,
declarative animation, and non-rendered elements
clearly defined and consistent with the semantics
- that a fully sighted user would receive from
+ that a fully sighted user would receive from
the graphics?
Introduction
- For web documents and applications, - the essential semantic information is encapsulated - within the Document Object Model (DOM). - Assistive technologies obtain this information from the user agent (web browser), - which maps elements and attributes + For web documents and applications, + the essential semantic information is encapsulated + within the Document Object Model (DOM). + Assistive technologies obtain this information from the user agent (web browser), + which maps elements and attributes to the platform Accessibility API.
- In Scalable Vector Graphics (SVG) documents, + In Scalable Vector Graphics (SVG) documents, most SVG elements - do not provide semantic information of value to assistive technologies. - Instead, they represent low-level vector graphics drawing directives. - That element only has meaning to assistive technologies + do not provide semantic information of value to assistive technologies. + Instead, they represent low-level vector graphics drawing directives. + That element only has meaning to assistive technologies if the author provides alternative text, descriptions, or WAI-ARIA semantics.
Both version 1 [[SVG1]] and version 1.1 [[SVG11]] of the SVG specifications
- included elements for defining accessible names and descriptions
- (<title>
and <desc>
).
- However, prior to this specification, there was no normative guidance
- as to how user agents should expose this information to assistive technologies,
+ included elements for defining accessible names and descriptions
+ (<title>
and <desc>
).
+ However, prior to this specification, there was no normative guidance
+ as to how user agents should expose this information to assistive technologies,
or how to integrate it with host languages and validators that support WAI-ARIA.
There was similarly no guidance on how user agents should make interactive SVG keyboard accessible.
- SVG 2 now incorporates keyboard navigation based on the established model from HTML 5.
- The user agent
- provides sequential focus navigation to SVG elements
- that are interactive by default (links and audio/video elements with controls),
- or that the author has indicated may receive focus
- (through the use of tabindex
attribute).
+ SVG 2 now incorporates keyboard navigation based on the established model from HTML 5.
+ The user agent
+ provides sequential focus navigation to SVG elements
+ that are interactive by default (links and audio/video elements with controls),
+ or that the author has indicated may receive focus
+ (through the use of tabindex
attribute).
Focus may also be set or removed programmatically by scripts,
- so that authors may implement
+ so that authors may implement
more complex keyboard focus patterns.
SVG closely aligns with the core DOM Standard [[DOM]], supporting JavaScript manipulation of the graphic in interactive environments. - Through the use of JavaScript, CSS, and related APIs, - authors can make SVG look and behave as an interactive application, + Through the use of JavaScript, CSS, and related APIs, + authors can make SVG look and behave as an interactive application, to produce rich interactive charts and drawings.
To allow the author to express and dynamically update their intended semantics - in both static and interactive graphics, - SVG 2 supports the use of + in both static and interactive graphics, + SVG 2 supports the use of WAI-ARIA roles, states, and properties. - Authors may include - WAI-ARIA attributes in their markup - and user agents will translate it + Authors may include + WAI-ARIA attributes in their markup + and user agents will translate it to the platform accessibility APIs.
- WAI-ARIA enables rich SVG-drawn Internet applications - to have the same accessibility features as + WAI-ARIA enables rich SVG-drawn Internet applications + to have the same accessibility features as GUI applications installed on their operating system. In complex static graphics, WAI-ARIA provides the missing document structure that is provided in HTML by semantic elements.
- For an introduction to WAI-ARIA, - see the WAI-ARIA Overview. - The SVG Accessibility API Mappings specification (this document) - defines how WAI-ARIA features - interact with the native semantics of the SVG language. - It is part of a set of resources that define and support - the WAI-ARIA specification, - including the following documents: + For an introduction to WAI-ARIA, + see the WAI-ARIA Overview. + The SVG Accessibility API Mappings specification (this document) + defines how WAI-ARIA features + interact with the native semantics of the SVG language. + It is part of a set of resources that define and support + the WAI-ARIA specification, + including the following documents:
- This specification begins by providing - a general overview of accessibility APIs - and the hierarchy of accessible objects - known as the accessibility tree. - The following sections define how SVG host language elements and content — - with or without WAI-ARIA + This specification begins by providing + a general overview of accessibility APIs + and the hierarchy of accessible objects + known as the accessibility tree. + The following sections define how SVG host language elements and content — + with or without WAI-ARIA roles, states, and properties applied — - map to accessibility APIs. - Other sections give guidance on calculating text alternatives, - mapping actions to events, + map to accessibility APIs. + Other sections give guidance on calculating text alternatives, + mapping actions to events, event processing, special document handling procedures, and error handling.
- This guide relies heavily on the - accessibility API mappings + This guide relies heavily on the + accessibility API mappings defined in the Core Accessibility API Mappings and Accessible Name and Description specifications ([[CORE-AAM]] and [[ACCNAME-AAM]]) - but defines changes in mappings due to features in the SVG host language [[SVG2]]. + but defines changes in mappings due to features in the SVG host language [[SVG2]]. Key areas of difference stem from the intrinsic host language semantics of SVG:
To provide access to GUI applications, - software applications expose the necessary information needed by assistive technologies to interoperate with it through accessibility APIs. The accessibility information exposed through the accessibility APIs must be maintained throughout the applications lifecycle. + software applications expose the necessary information needed by assistive technologies to interoperate with it through accessibility APIs. The accessibility information exposed through the accessibility APIs must be maintained throughout the applications lifecycle.
- In Web pages the Document Object Model (DOM) - is used to represent the structure and state - of the elements in the document - being rendered by a user agent. - The elements of the document are organized into a hierarchy of nodes - known as the DOM tree. + In Web pages the Document Object Model (DOM) + is used to represent the structure and state + of the elements in the document + being rendered by a user agent. + The elements of the document are organized into a hierarchy of nodes + known as the DOM tree. User agents map DOM to accessibility APIs, - in the same way desktop applications map UI components. + in the same way desktop applications map UI components. The information provided to the accessibility API is used to - support assistive technologies, with the expectation - that the information passed from the DOM - matches the semantic intent of the author. - The author may communicate this semantic intent + support assistive technologies, with the expectation + that the information passed from the DOM + matches the semantic intent of the author. + The author may communicate this semantic intent by using native features of the document language or by using WAI-ARIA, if native features are not available. -
+Authors use SVG to create a broad range of applications and drawings. The information needed to support accessibility APIs in SVG comes from a combination of semantics from the elements themselves but also the additional semantics provided by - WAI-ARIA and the modular extensions to WAI-ARIA supported by this specification. + WAI-ARIA and the modular extensions to WAI-ARIA supported by this specification.
- A screen reader or other assistive technology - uses the semantic information exposed via - the accessibility API - to provide an alternative rendering of an application - that is meaningful to a user. + A screen reader or other assistive technology + uses the semantic information exposed via + the accessibility API + to provide an alternative rendering of an application + that is meaningful to a user.
- Accessibility APIs + Accessibility APIs supported by this document (and the other specifications it extends) are:
- If user agent developers need to expose information - using other accessibility APIs, - it is recommended that they work closely - with the developer of the platform where - the API runs, + If user agent developers need to expose information + using other accessibility APIs, + it is recommended that they work closely + with the developer of the platform where + the API runs, and assistive technology developers on that platform.
- The accessibility tree - and the DOM tree are parallel structures. - Roughly speaking, the accessibility tree is a subset + The accessibility tree + and the DOM tree are parallel structures. + Roughly speaking, the accessibility tree is a subset of the flattened DOM tree, which is then augmented to - include the user interface objects - of the user agent + include the user interface objects + of the user agent as well as the objects of the document.
- Accessible objects are created - in the accessibility tree for every - DOM element - that should be exposed to an - assistive technology. - An element could be exposed because it may fire an accessibility event - or because it has a property, - relationship or feature which needs to be exposed. + Accessible objects are created + in the accessibility tree for every + DOM element + that should be exposed to an + assistive technology. + An element could be exposed because it may fire an accessibility event + or because it has a property, + relationship or feature which needs to be exposed.
Generally, if a DOM element can be omitted from the accessibility tree
- without affecting meaning, it will be,
- for reasons of performance and simplicity.
- For example, a <span>
with just a style change
- and no semantics
- may not get its own accessible object,
+ without affecting meaning, it will be,
+ for reasons of performance and simplicity.
+ For example, a <span>
with just a style change
+ and no semantics
+ may not get its own accessible object,
but the style change will be exposed by other means.
- This specification marks certain sections - as non-normative, also called informative. + This specification marks certain sections + as non-normative, also called informative. The classification applies to the entire section. - All other sections provide normative requirements. - A statement "This section is non-normative" + All other sections provide normative requirements. + A statement "This section is non-normative" applies to all its sub-sections, unless otherwise indicated. In addition, all text boxes labelled "Note" are informative.
- Normative sections provide requirements that
- user agents must follow
- for an implementation to conform to this specification.
- The keywords MUST,
- MUST NOT,
- REQUIRED,
- SHALL,
- SHALL NOT,
- SHOULD,
- RECOMMENDED,
- MAY, and
- OPTIONAL
- in this document are to be interpreted as described
- in Keywords for use in RFCs to indicate requirement levels [[rfc2119]].
- RFC-2119 keywords are formatted in uppercase and contained in an
- element with class="rfc2119"
.
- 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.
+ Normative sections provide requirements that
+ user agents must follow
+ for an implementation to conform to this specification.
+ The keywords MUST,
+ MUST NOT,
+ REQUIRED,
+ SHALL,
+ SHALL NOT,
+ SHOULD,
+ RECOMMENDED,
+ MAY, and
+ OPTIONAL
+ in this document are to be interpreted as described
+ in Keywords for use in RFCs to indicate requirement levels [[rfc2119]].
+ RFC-2119 keywords are formatted in uppercase and contained in an
+ element with class="rfc2119"
.
+ 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.
- Informative sections and notes provide information useful - to understanding the specification. - Such sections may contain examples of recommended practice, - but it is not required to follow such recommendations + Informative sections and notes 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.
@@ -571,32 +571,32 @@- Enabling keyboard navigation in web applications - is a necessary step toward making accessible web applications possible. + Enabling keyboard navigation in web applications + is a necessary step toward making accessible web applications possible. Not only is the keyboard the primary input device for many users, - but other accessibile input devices use keyboard events + but other accessibile input devices use keyboard events to communicate with the user agent.
- The Scalable Vector Graphics (SVG) 1 [[SVG1]] and
+ The Scalable Vector Graphics (SVG) 1 [[SVG1]] and
1.1 [[SVG11]] specifications included only very limited keyboard support
- (access keys for animations).
- Many user agents implemented tabbed focus for links,
- but there was no declarative or scripted means
+ (access keys for animations).
+ Many user agents implemented tabbed focus for links,
+ but there was no declarative or scripted means
for authors to control this behavior.
Scalable Vector Graphics (SVG) 2 [[SVG2]] introduces keyboard navigation
- and focus control
+ and focus control
based on the HTML tabindex
model.
- Conforming user agents MUST conform to - Supporting Keyboard Navigation +
+ Conforming user agents MUST conform to + Supporting Keyboard Navigation requirements in the Core Accessibility API Mappings [[!CORE-AAM]].
- +- The SVG Accessibility Task Force intends to develop - more detailed guidelines for authors and user agents + The SVG Accessibility Task Force intends to develop + more detailed guidelines for authors and user agents regarding navigation in graphical documents.
@@ -604,62 +604,62 @@- WAI-ARIA support + WAI-ARIA support was formally introduced to SVG in Scalable Vector Graphics (SVG) 2 [[SVG2]], - which allows ARIA attributes to be used in the default namespace. - This section defines how WAI-ARIA semantics are exposed to assistive technologies - through platform Accessibility APIs - and how SVG elements are mapped to + which allows ARIA attributes to be used in the default namespace. + This section defines how WAI-ARIA semantics are exposed to assistive technologies + through platform Accessibility APIs + and how SVG elements are mapped to Accessibility APIs based on WAI-ARIA.
- SVG user agents MUST conform to General rules for exposing WAI-ARIA semantics in the Core Accessibility API Mappings [[!CORE-AAM]], + SVG user agents MUST conform to General rules for exposing WAI-ARIA semantics in the Core Accessibility API Mappings [[!CORE-AAM]], with the additions described in the following sub-sections.
- +Certain elements in the DOM are not exposed via the accessibility API. - The section Excluding Elements from the Accessibility Tree + The section Excluding Elements from the Accessibility Tree of the Core Accessibility API Mappings [[CORE-AAM]] outlines the general rules for excluding elements. One factor is whether host language semantics specify that the element should not be displayed.
- The SVG language defines numerous elements + The SVG language defines numerous elements that fit this criteria. Many SVG elements are never directly rendered to the screen, - while others may or may not be rendered or displayed, + while others may or may not be rendered or displayed, depending on context or CSS styling. Elements which are neither perceivable nor interactive - should not be included in the accessibility tree + should not be included in the accessibility tree exposed to accessibility APIs. This section details the expected interpretation of SVG host language semantics.
The other factors for excluding elements, +
The other factors for excluding elements, as described in the Core Accessibility API Mappings, are as follows:
none
or presentation
, the element must not be exposed. However, note that a number of features of an element, such as interactivity, can cause an author-supplied role of none
or presentation
to be ignored.none
or presentation
, the element must not be exposed. However, note that a number of features of an element, such as interactivity, can cause an author-supplied role of none
or presentation
to be ignored.aria-hidden
value of true
,
it should not be exposed.button
and
+ button
and
img
exclude all child content from being directly included
in the accessibility tree.
@@ -668,28 +668,28 @@ In all cases, an element will not be excluded if it can currently receive focus based on user interaction. Consult the original document [[CORE-AAM]] for the normative text.
Links to CORE-AAM and ARIA 1.1 will need to be updated after clarifications with respect to these points have been pushed to the master versions of those specifications.
- +
- Elements which are never directly rendered to screen,
+ Elements which are never directly rendered to screen,
nor represented by an interactive region in a graphic,
do not need a corresponding accessible object.
- User agents MUST NOT include any elements, or their descendant content, as an accessible object in the accessibility tree that are indicated as no accessible object created
in the SVG Element Mapping Table.
- User agents SHOULD also exclude
+ User agents MUST NOT include any elements, or their descendant content, as an accessible object in the accessibility tree that are indicated as no accessible object created
in the SVG Element Mapping Table.
+ User agents SHOULD also exclude
any other element defined by past or future SVG specifications or modules
- that specifically indicate the element is never directly rendered.
+ that specifically indicate the element is never directly rendered.
- For example, elements that represent
- filters, gradients, or gradient stops
+ For example, elements that represent
+ filters, gradients, or gradient stops
will never create an accessible object.
- Shape elements or image elements that are included
+ Shape elements or image elements that are included
in an SVG definitions section or as part of a pattern
- will also not have accessible objects,
- because the semantics of the ancestor
+ will also not have accessible objects,
+ because the semantics of the ancestor
defs
or pattern
element
preclude that entire DOM subtree from being represented
in the accessibility tree.
-
Elements that are excluded from the accessibility tree might still be used in the name and description computation of another element, as defined in the Name and Description section. Non-rendered elements may also be used as the templates @@ -713,26 +713,26 @@
- SVG user agents MUST NOT
+ SVG user agents MUST NOT
expose to accessibility APIs
- any elements that are not rendered
+ any elements that are not rendered
because of conditional processing attributes on that element
or because of the position of that element within a switch construct.
- The switch
element itself SHOULD
+ The switch
element itself SHOULD
be omitted as if it had a role of none
or presentation
.
- The rendering of SVG elements is also affected by CSS styling properties,
+ The rendering of SVG elements is also affected by CSS styling properties,
which may be specified using stylesheet rules, inline styles, presentation attributes, or animations.
Regardless of how the style property is specified,
- the effect depends on the final computed value
+ the effect depends on the final computed value
determined by the CSS cascade [[CSS-CASCADE-3]].
- User agents MUST NOT
+ User agents MUST NOT
expose to accessibility APIs
- any element that is not rendered
- because its computed style includes
- a value of none
+ any element that is not rendered
+ because its computed style includes
+ a value of none
for the display
property.
@@ -751,28 +751,28 @@
visibility
property,
nor interactive to pointer users.
according to the pointer-events
property.
- User agents SHOULD NOT
+ User agents SHOULD NOT
expose to accessibility APIs
- any element that is hidden in this sense,
+ any element that is hidden in this sense,
unless the author explicitly overrides the hiding
by setting the false
.
In the case of container elements (such as g
or svg
),
- the element is not considered hidden
+ the element is not considered hidden
if any of its descendent content is visible
or can receive user events,
regardless of the computed value of visibility
on the element itself.
Similarly, a use
element may include
- visible or interactive component graphics,
+ visible or interactive component graphics,
despite having style properties that would cause
an individual shape element to be hidden.
- The use
element MUST be considered visible or interactive
+ The use
element MUST be considered visible or interactive
if any elements within its shadow tree are visible or interactive.
(The container or the use
element may, however, still be considered presentational if it does not have any other reason to include it in the accessibility tree.)
A shape element with markers is visible or interactive
if any of its markers are visible or interactive.
-
In HTML and in other CSS-styled documents, @@ -788,7 +788,7 @@
An element that is currently positioned off-screen, or that is obscured by other elements, - is not considered hidden. + is not considered hidden. User agents should expose this state through other means, as described in the State and Property Mapping section of the Core Accessibility API Mappings [[CORE-AAM]]. - +
- +- Various other style properties and geometric attributes (of an element itself or an ancestor element) can make an element invisible. For simplicity, flexibility, and performance reasons, these are not considered a hiding method that excludes elements from the accessibility tree. + Various other style properties and geometric attributes (of an element itself or an ancestor element) can make an element invisible. For simplicity, flexibility, and performance reasons, these are not considered a hiding method that excludes elements from the accessibility tree.
When using properties other than display
or visibility
to hide inactive content, authors can use the aria-hidden
attribute to indicate that assistive technologies should ignore the element and its descendents.
@@ -868,16 +868,16 @@
The editors welcome feedback and suggestions (in GitHub Issue #6) - on alternative ways to represent + on alternative ways to represent this hidden alternative content in a way consistent with user agent and accessibility API implementations.
Many SVG elements—although rendered to the screen—do not have an intrinsic semantic meaning. Instead, they represent components of the visual presentation of the document. @@ -889,18 +889,18 @@
However, any rendered SVG element may have semantic meaning. Authors indicate the significance of the element by including - alternative text content or + alternative text content or WAI-ARIA attributes. This section defines the rules for including normally-omitted elements in the accessibility tree. -
+- The following graphical and container elements in the SVG namespace + The following graphical and container elements in the SVG namespace SHOULD NOT be included in the accessibility tree, - except as described in this section: + except as described in this section:
circle
,
ellipse
,
@@ -941,10 +941,10 @@
Although these elements are omitted from the accessibility tree,
- their child content
+ their child content
is still processed,
- as if it was a direct child of the nearest ancestor node in the DOM tree that is included in the accessibility tree.
+ as if it was a direct child of the nearest ancestor node in the DOM tree that is included in the accessibility tree.
In other words, the markup elements are treated
as if they had a role of none
or presentation
.
presentation
.
-
+
- SVG user agents MUST provide - an accessible object in the accessibility tree + SVG user agents MUST provide + an accessible object in the accessibility tree for rendered SVG elements that meet any of the following criteria, - unless they are excluded from the accessibility tree per the rules + unless they are excluded from the accessibility tree per the rules in Excluding Elements from the Accessibility Tree:
none
or presentation
.
- At the time of drafting this document, + At the time of drafting this document, those criteria are as follows: @@ -1022,14 +1022,14 @@
- The exception for hidden elements means that
+ The exception for hidden elements means that
SVG metadata elements or other non-rendered content
may be used in the accessible name and description
of another element without themselves being included
in the accessiblity tree.
- For example, current best practice
+ For example, current best practice
for fallback browser support
- is to use aria-labelledby
and aria-describedby
+ is to use aria-labelledby
and aria-describedby
to redundantly link to
title
and desc
child elements.
Including these elements as separate nodes in the tree
@@ -1046,9 +1046,9 @@
tabindex
attribute,
or which is focusable by default
and has not been removed from the tab order with a negative integer tabindex
attribute,
@@ -1064,13 +1064,13 @@
With regards to pointer events, which bubble up the DOM tree,
- the exact element that receives the event may not have semantic meaning
+ the exact element that receives the event may not have semantic meaning
(that is, it may still be presentational).
- However, the ability to receive pointer events overrides any exclusion
+ However, the ability to receive pointer events overrides any exclusion
based on the visibility: hidden
style property.
- The tabindex
attribute
+ The tabindex
attribute
and the pointer-events
property
have no impact on elements which are not rendered at all,
because of the display: none
property
@@ -1079,16 +1079,16 @@
- SVG user agents - MUST conform to - Conflicts between native markup semantics and WAI-ARIA in the Core Accessibility API Mappings [[!CORE-AAM]] + SVG user agents + MUST conform to + Conflicts between native markup semantics and WAI-ARIA in the Core Accessibility API Mappings [[!CORE-AAM]] where the host language is SVG and the native semantics are as described in - the SVG Element Mapping Table, + the SVG Element Mapping Table, the State and Property Mapping section, and the Special Processing Requiring Additional Computation section.
@@ -1104,70 +1104,70 @@SVG user agents MUST conform to Exposing attributes that do not directly map to accessibility API properties in the Core Accessibility API Mappings [[!CORE-AAM]].
- Platform accessibility APIs - traditionally have had a finite set of - predefined roles that are expected - by assistive technologies + Platform accessibility APIs + traditionally have had a finite set of + predefined roles that are expected + by assistive technologies on that platform and only one or two roles may be exposed.
- WAI-ARIA + WAI-ARIA only supports one active role at a time. - However, multiple roles may be specified - as an ordered set of space-separated valid role tokens. - The additional roles are fallback roles, - similar to the concept of specifying multiple font families + However, multiple roles may be specified + as an ordered set of space-separated valid role tokens. + The additional roles are fallback roles, + similar to the concept of specifying multiple font families in case the first choice font is not supported. This allows the role taxonomy to be extended in future for specialized applications. The entire role string is exposed to accessibility technologies where possible, - so they can respond appropriately + so they can respond appropriately even if there is no equivalent role in the platform API.
- +SVG user agents MUST conform to the Role Mapping General Rules accessibility API computational requirements in the Core Accessibility API Mappings [[!CORE-AAM]].
- This section defines how elements in SVG2
- map to WAI-ARIA roles and platform accessibility APIs
+ This section defines how elements in SVG2
+ map to WAI-ARIA roles and platform accessibility APIs
based on their native host language semantics,
- including which WAI-ARIA roles may be applied.
- This section refers directly to both the
+ including which WAI-ARIA roles may be applied.
+ This section refers directly to both the
Role Mappings
in the Core Accessibility API Mappings [[!CORE-AAM]] specification and the Role Mappings
in the Graphics Accessibility API Mappings [[!GRAPHICS-AAM]] specification,
- which define how WAI-ARIA roles are mapped to platform accessibility APIs.
+ which define how WAI-ARIA roles are mapped to platform accessibility APIs.
SVG Element | - Default Platform + Default Platform WAI-ARIA Role Mappings |
@@ -1183,8 +1183,8 @@ SVG Element Mapping Table |
link role
- if the element has a valid href or xlink:href attribute.
- For a elements that are not links, use the mapping for
+ if the element has a valid href or xlink:href attribute.
+ For a elements that are not links, use the mapping for
tspan if the a element is a descendent of text ,
or the mapping for g otherwise.
|
@@ -1198,15 +1198,15 @@
animate
|
- no accessible object created | -no role may be applied | +no accessible object created | +no role may be applied | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
animateMotion
|
no accessible object created | -no role may be applied | +no role may be applied | ||||||||||||||||||||
@@ -1222,7 +1222,7 @@ SVG Element Mapping Table | Follow the recommendations for the HTML audio element in the HTML Accessibility API Mappings specification [[!HTML-AAM]]. - | +
application role
|
@@ -1247,7 +1247,7 @@
graphics-symbol role mapping
if the element meets the criteria for Including Elements in the Accessibility Tree;
- otherwise, no accessible object created
+ otherwise, no accessible object created
|
any role;
@@ -1285,7 +1285,7 @@ SVG Element Mapping Table | no accessible object created, - for this element or any child content; + for this element or any child content; see Name and Description mapping | no role may be applied | @@ -1304,7 +1304,7 @@
graphics-symbol role mapping
if the element meets the criteria for Including Elements in the Accessibility Tree;
- otherwise, no accessible object created
+ otherwise, no accessible object created
|
any role;
@@ -1449,7 +1449,7 @@ SVG Element Mapping Table |
group role mapping
if the element meets the criteria for Including Elements in the Accessibility Tree;
- otherwise, no accessible object created
+ otherwise, no accessible object created
|
any role;
@@ -1514,7 +1514,7 @@ SVG Element Mapping Table |
graphics-symbol role mapping
if the element meets the criteria for Including Elements in the Accessibility Tree;
- otherwise, no accessible object created
+ otherwise, no accessible object created
|
any role;
@@ -1569,7 +1569,7 @@ SVG Element Mapping Table |
graphics-symbol role mapping
if the element meets the criteria for Including Elements in the Accessibility Tree;
- otherwise, no accessible object created
+ otherwise, no accessible object created
|
any role;
@@ -1591,7 +1591,7 @@ SVG Element Mapping Table |
graphics-symbol role mapping
if the element meets the criteria for Including Elements in the Accessibility Tree;
- otherwise, no accessible object created
+ otherwise, no accessible object created
|
any role;
@@ -1605,7 +1605,7 @@ SVG Element Mapping Table |
graphics-symbol role mapping
if the element meets the criteria for Including Elements in the Accessibility Tree;
- otherwise, no accessible object created
+ otherwise, no accessible object created
|
any role;
@@ -1626,7 +1626,7 @@ SVG Element Mapping Table |
graphics-symbol role mapping
if the element meets the criteria for Including Elements in the Accessibility Tree;
- otherwise, no accessible object created
+ otherwise, no accessible object created
|
any role;
@@ -1725,8 +1725,8 @@ SVG Element Mapping Table |
text
|
-
- group role,
+ |
+ group role,
but with the following platform-specific API mappings:
Acknowledgments@@ -2420,18 +2420,18 @@Participants active in the SVG Accessibility Task Force active at the time o
Enabling funders- This publication has been funded in part with - Federal funds from the U.S. Department of Education, + This publication has been funded in part with + Federal funds from the U.S. Department of Education, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR) - under contract number ED-OSE-10-C-0067. - 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 + under contract number ED-OSE-10-C-0067. + 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. |