PDF Accessibility API Mappings 1.0

W3C Editor's Draft

More details about this document
This version:
https://w3c.github.io/pdf-aam/
Latest published version:
https://www.w3.org/TR/pdf-aam-1.0/
Latest editor's draft:
https://w3c.github.io/pdf-aam/
History:
Commit history
Implementation report:
https://w3c.github.io/test-results/core-aam-1.2/
Editors:
Paul Rayius (Allyant)
Zak Kinsey (Target Stream)
Authors:
Paul Rayius (Allyant)
Zak Kinsey (Target Stream)
James Craig (Apple, Inc.)
Feedback:
GitHub w3c/pdf-aam (pull requests, new issue, open issues)

Abstract

This document describes how user agents should expose semantics of PDF content to accessibility APIs. This helps users with disabilities to obtain and interact with information using assistive technologies. Documenting these mappings promotes interoperable exposure of roles, states, properties, and events implemented by accessibility APIs and helps to ensure that this information appears in a manner consistent with author intent.

Status of This Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C standards and drafts index.

The Accessible Rich Internet Applications Working Group seeks feedback on any aspect of the specification. When submitting feedback, please consider issues in the context of the companion documents. To comment, file an issue in the W3C pdf-aam GitHub repository. If this is not feasible, send email to public-aria@w3.org (comment archive). In-progress updates to the document may be viewed in the publicly visible editors' draft.

This document was published by the Accessible Rich Internet Applications Working Group as an Editor's Draft.

Publication as an Editor's Draft does not imply endorsement by W3C and its Members.

This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to cite this document as other than a work in progress.

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures 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 that the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 03 November 2023 W3C Process Document.

1. Introduction

This section is non-normative.

TBD. Some from Core-AAM.

1.1 Accessibility APIs

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

1.2 Comparing Accessibility APIs

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

1.2.1 Accessible Names and Descriptions

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

2. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key word MAY in this document is to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, it appears in all capitals, as shown here.

2.1 RFC-2119 Keywords

RFC-2119 keywords are formatted in uppercase and contained in a strong 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.

2.2 Normative and Informative Sections

The indication whether a section is normative or non-normative (informative) applies to the entire section including sub-sections.

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.

3. Important Terms

This section is non-normative.

TBD. Can we add only PDF-specific terms here and cross-reference the others from common dir?

term 1

definition 1

term 2

definition 2

4. Mapping WAI-ARIA to Accessibility APIs

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

4.1 Role mapping

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

4.1.1 General rules

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

4.1.2 Role Mapping Tables

4.1.2.1 example
ARIA Specification example
MSAA + IAccessible2 Role: ROLE_SYSTEM_EXAMPLE
UIA Control Type: Example
ATK/AT-SPI Role: ROLE_EXAMPLE
AX API[Note 1] AXRole: AXxample
AXSubrole:
Note

[Note 1] Footnote content

4.2 State and Property Mapping

This section describes how to expose PDF states and properties.

4.2.1 General rules

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

4.2.2 State and Property Mapping Tables

4.2.2.1 Not Mapped

There are a number of occurrences in the table where a given state or property is declared "Not mapped". In some cases, this occurs for the default value of the state/property, and is equivalent to its absence. User agents might find it quicker to map the value than check to see if it is the default. For computational efficiency, user agents MAY expose the state or property value if doing so is equivalent to not mapping it. These cases are marked with an asterisk.

In other cases, it is mandatory that the state/property not be mapped, since exposing it implies a related affordance. An example is aria-grabbed. Its absence not only indicates that the accessible object is not grabbed, but further defines it as not grab-able. These cases are marked as "Not mapped" without an asterisk.

4.2.2.2 aria-example=true
ARIA Specification aria-example=true
MSAA + IAccessible2 Object Attribute: example: true
UIA Property: example: true
ATK/AT-SPI Object Attribute: example:true
AX API Property: AXExample: YES

4.3 Special Processing Requiring Additional Computation

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

4.4 Actions

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

5. Privacy considerations

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

6. Security considerations

This specification introduces no new security considerations.

A. Change Log

TBD. Should we duplicate or cross-reference this content from the corresponding Core-AAM section?

B. Acknowledgments

This section is non-normative.

The following people contributed to the development of this document.

B.1 Participants active in the ARIA WG at the time of publication

B.2 Enabling funders

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.

C. References

C.1 Normative references

[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174

C.2 Informative references

[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
[wai-aria]
Accessible Rich Internet Applications (WAI-ARIA) 1.0. James Craig; Michael Cooper et al. W3C. 20 March 2014. W3C Recommendation. URL: https://www.w3.org/TR/wai-aria/