Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added introduction to Graphics AAM #384

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
138 changes: 138 additions & 0 deletions graphics-aam/graphics-aam.html
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,144 @@
<section id="sotd"> </section>
<section id="intro" class="informative">
<h2>Introduction</h2>
<p>
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.
<a class="termref" data-lt="Accessibility API">Accessibility API</a>s are used to communicate
<a class="termref" data-lt="Semantics">semantics</a>
about the user interface to
<a class="termref" data-lt="Assistive Technologies">assistive technologies</a>
used by people with disabilities.
These <abbr title="application programming interfaces">APIs</abbr> 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 <abbr title="user interface">UI</abbr> 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.
</p>
<p>
For web documents and applications,
the essential semantic information is encapsulated
within the Document Object Model (<abbr title="Document Object Model">DOM</abbr>).
Assistive technologies obtain this information from the user agent,
which maps elements and attributes
to the platform Accessibility <abbr title="Application Programming Interface">API</abbr>.
</p>
<p>
In traditional <abbr title="Scalable Vector Graphics">SVG</abbr> documents,
most SVG <a class="termref" data-lt="Element">element</a>s
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.
</p>
<p>
To allow the author to express and dynamically update their intended semantics,
SVG 2 supports the use of
<abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles, states, and properties.
WAI-ARIA enables rich SVG-drawn Internet applications
to have the same accessibility features as
<abbr title="graphical user interface">GUI</abbr> applications installed on their operating system.
Authors may include
<abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> attributes in their markup
and user agents will translate it
to the platform accessibility <abbr title="application programming interfaces">APIs</abbr>.
</p>

<p>
For an introduction to <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>,
see the <a href="http://www.w3.org/WAI/intro/aria.php"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Overview</a>.
The SVG Accessibility API Mappings specification (this document)
defines how <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> features
interact with the native semantics of the SVG language.
It is part of a set of resources that define and support
the <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> specification,
including the following documents:
</p>
<ul>
<li>
<cite><a href="http://www.w3.org/TR/wai-aria-1.1/">Accessible Rich Internet Applications (WAI-ARIA) 1.1</a></cite> [[WAI-ARIA]],
a planned <abbr title="World Wide Web Consortium">W3C</abbr> recommendation
that extends the exising ARIA standard [[WAI-ARIA-10]].
It defines the core roles, states, and properties.
</li>
<li>
<cite><a href="http://www.w3.org/TR/graphics-aria-1.0/">WAI-ARIA Graphics Module</a></cite> [[GRAPHICS-ARIA]],
a planned <abbr title="World Wide Web Consortium">W3C</abbr> recommendation that defines graphics roles, states, and properties not included in <cite><a href="http://www.w3.org/TR/wai-aria-1.1/">Accessible Rich Internet Applications (WAI-ARIA) 1.1</a></cite> [[WAI-ARIA]].
</li>
<li>
<cite><a href="http://www.w3.org/TR/core-aam-1.1/">Core Accessibility API Mappings</a></cite> specification [[CORE-AAM]],
which expresses how <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>
<a href="#dfn-role" class="termref">roles</a>, <a href="#dfn-state" class="termref">states</a>, and <a href="#dfn-property" class="termref">properties</a>
should be supported in user agents
using platform accessibility <abbr title="Application Programming Interfaces">APIs</abbr>.
</li>
<li>
<cite><a href="http://www.w3.org/TR/graphics-aam-1.0">Graphics Accessibility API Mappings</a></cite>[[GRAPHICS-AAM]], a planned <abbr title="World Wide Web Consortium">W3C</abbr> recommendation,
which expresses how <cite><a href="http://www.w3.org/TR/graphics-aria-1.0/">WAI-ARIA Graphics Module</a></cite> [[GRAPHICS-ARIA]]
<a href="#dfn-role" class="termref">roles</a>, <a href="#dfn-state" class="termref">states</a>, and <a href="#dfn-property" class="termref">properties</a>
should be supported in user agents
using platform accessibility <abbr title="Application Programming Interfaces">APIs</abbr>.
</li>

<li>
<cite><a href="http://www.w3.org/TR/accname-aam-1.1/">Accessible Name and Description: Computation and API Mappings 1.1</a></cite> [[ACCNAME-AAM]],
which outlines the specific steps user agents should follow
in order to identify accessible names (labels) and descriptions (alternative text)
for elements that are exposed to assistive technologies.
</li>
<li>
<cite><a href="http://www.w3.org/TR/wai-aria-practices/"><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Authoring Practices Guide</a></cite> [[ARIA-PRACTICES]],
a planned W3C Working Group Note,
which describes how web content developers can develop
accessible rich internet applications using <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>.
It provides detailed advice and examples
directed primarily to web application developers,
yet also useful to developers of user agents and assistive technologies.
</li>
</ul>
<p>
This specification begins by providing
a general overview of accessibility <abbr title="Application Programming Interfaces">APIs</abbr>
and the hierarchy of <a class="termref" data-lt="accessible object">accessible object</a>s
known as the <a class="termref">accessibility tree</a>.
The following sections define how SVG host language elements and content &#8212;
with or without <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr>
roles, states, and properties applied &#8212;
map to accessibility <abbr title="Application Programming Interfaces">APIs</abbr>.
Other sections give guidance on calculating text alternatives,
mapping actions to <a class="termref" data-lt="role">event</a>s,
event processing, special document handling procedures, and error handling.
</p>
<p>
This guide relies heavily on the
accessibility <abbr title="Application Programming Interface">API</abbr> mappings
defined in the [[CORE-AAM]] and [[ACCNAME-AAM]] specifications
but defines changes in mappings due to features in the [[SVG]] host language.
Key areas of difference stem from the intrinsic host language semantics of SVG:
</p>
<ul>
<li>The procedure for mapping the DOM tree to the accessibility tree
is designed to simplify that tree
to only include elements with semantic importance.
</li>
<li>SVG elements are assigned default roles and properties,
which in many cases are conditional on whether they meet
the criteria for inclusion in the accessibility tree.
</li>
<li>Text computation of names and descriptions use the SVG metadata elements.
</li>
<li>Implicit ARIA states (such as whether an element is hidden) must be updated
in response to SVG animations.
</li>
</ul>

</section>
<section id="conformance" class="normative">
<p>This specification indicates whether a section is <a class="termref">normative</a> or <a class="termref">informative</a> and the classification applies to the entire section. A statement "This section is normative" or "This section is informative" applies to all sub-sections of that section.</p>
Expand Down