ISO/IEC TR 13066-6:2014
(Main)Information technology — Interoperability with Assistive Technology (AT) — Part 6: Java accessibility application programming interface (API)
Information technology — Interoperability with Assistive Technology (AT) — Part 6: Java accessibility application programming interface (API)
ISO/IEC TR 13066-6:2014 provides an overview to the structure and terminology of the Java accessibility application programming interface (API) It will provide: A description of the overall architecture and terminology of the API; Further introductory explanations regarding the content and use of the API beyond those found in Annex A of ISO/IEC 13066-1; An overview of the main properties, including of: user interface elements; how to get and set focus; of communication mechanisms in the API; a discussion of design considerations for the API (e.g. pointers to external sources of information on accessibility guidance related to using the API); information on extending the API (and where this is appropriate); an introduction to the programming interface of the API (including pointers to external sources of information); an introduction to the Java Access Bridge for Windows and the Java Access Bridge for GNOME. It will provide this information as an introduction to the Java API to assist: IT system level developers who create custom controls and/or interface to them; AT developers involved in programming "hardware to software" and "software to software" interactions.
Technologies de l'information — Interopérabilité avec les technologies d'assistance — Partie 6: Interface de programmation d'applications (API) d'accessibilité Java
General Information
Standards Content (Sample)
TECHNICAL ISO/IEC
REPORT TR
13066-6
First edition
2014-07-15
Information technology — Interoperability
with assistive technology (AT) —
Part 6:
Java accessibility application
programming interface (API)
Technologies de l'information — Interopérabilité avec les technologies
d'assistance —
Partie 6: Interface de programmation d'applications (API) d'accessibilité
Java
Reference number
©
ISO/IEC 2014
© ISO/IEC 2014
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any
means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission.
Permission can be requested from either ISO at the address below or ISO’s member body in the country of the requester.
ISO copyright office
Case postale 56 CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2014 – All rights reserved
Contents Page
Foreword . v
Introduction . vi
1 Scope . 1
2 Terms and Definitions . 1
3 General Description . 5
3.1 General Description . 5
3.2 Architecture . 5
4 Using the API . 6
4.1 Overview . 6
4.2 Package javax.accessibility* . 7
4.2.1 The AccessibleContext class . 7
4.2.2 The AccessibleAction interface . 8
4.2.3 The AccessibleComponent and AccessibleExtendedComponent interfaces . 8
4.2.4 The AccessibleIcon interface . 10
4.2.5 The AccessibleSelection interface . 10
4.2.6 The AccessibleStreamable interface . 10
4.2.7 The AccessibleTable and AccessibleExtendedTable interfaces . 11
4.2.8 The AccessibleText, AccessibleEditableText, AccessibleExtendedText, and
AccessibleHypertextText interfaces . 12
4.2.9 The AccessibleValue interface . 13
4.3 Implementing the Java accessibility API . 13
4.3.1 Using existing accessible user interface components . 14
4.3.2 Subclassing existing accessible user interface components . 16
4.3.3 Creating accessible user interface components “from scratch” . 17
5 Exposing User Interface Element Information . 18
5.1 Role, state(s), boundary, name, and description of the user interface element . 18
5.1.1 Role information . 19
5.1.2 State(s) information . 19
5.1.3 Boundary information . 20
5.1.4 Name information . 21
5.1.5 Description information . 21
5.2 Current value and any minimum or maximum values, if the user interface element
represents one of a range of values . 22
5.2.1 Additional value information: setting values. 23
5.3 Text contents, text attributes, and the boundary of text rendered to the screen . 23
5.4 The relationship of the user interface element to other user interface elements. 24
5.4.1 in a single data value, whether this user interface element is a label for another user
interface element or is labelled by another user interface element . 24
5.4.2 in a table, the row and column that it is in, including headers of the row and column if
present. . 25
5.4.3 in a hierarchical relationship, any parent containing the user interface element, and any
children contained by the user interface element . 26
6 Exposing User Interface Element Actions . 27
7 Keyboard Focus . 28
7.1 Tracking (and modifying) focus . 28
7.2 Tracking (and modifying) text insertion point . 29
7.2.1 Tracking (and modifying) selection attributes . 30
© ISO/IEC 2014 – All rights reserved iii
8 Events . 31
8.1 changes in the user interface element value . 31
8.2 changes in the name of the user interface element . 31
8.3 changes in the description of the user interface element . 31
8.4 changes in the boundary of the user interface element . 31
8.5 changes in the hierarchy of the user interface element . 32
8.6 changes in other accessibility aspects of user interface components . 32
9 Programmatic Modifications of States, Properties, Values, and Text . 33
9.1 Programmatic Modifications of States . 33
9.2 Programmatic Modifications of Properties . 34
9.3 Programmatic Modifications of Values . 34
9.4 Programmatic Modifications of Text. 34
10 Design Considerations . 35
10.1 Java Access Bridge for Windows . 35
10.2 Java Access Bridge for Linux / UNIX graphical environments . 36
11 Further Information. 38
11.1 Role extensibility . 38
11.2 State extensibility . 39
11.3 Relation extensibility . 39
11.4 Interface extensibility . 39
Bibliography . 40
iv © ISO/IEC 2014 – All rights reserved
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
The procedures used to develop this document and those intended for its further maintenance are described
in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the different types of
document should be noted. This document was drafted in accordance with the editorial rules of the
ISO/IEC Directives, Part 2 (see www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details of any
patent rights identified during the development of the document will be in the Introduction and/or on the ISO
list of patent declarations received (see www.iso.org/patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation on the meaning of ISO specific terms and expressions related to conformity assessment,
as well as information about ISO's adherence to the WTO principles in the Technical Barriers to Trade (TBT)
see the following URL: Foreword - Supplementary information
The committee responsible for this document is ISO/IEC JTC 1, Information technology, Subcommittee
SC 35, User interfaces.
ISO/IEC 13066 consists of the following parts, under the general title Information technology —
Interoperability with assistive technology (AT):
Part 1: Requirements and recommendations for interoperability
Part 2: Windows accessibility application programming interface (API)
Part 3: IAccessible2 accessibility application programming interface (API)
Part 4: Linux/UNIX graphical environments accessibility application programming interface (API)
Part 6: Java accessibility application programming interface (API)
© ISO/IEC 2014 – All rights reserved v
Introduction
Assistive technology (AT) is specialized information technology (IT) hardware or software that is added to or
incorporated within a system that increases accessibility for an individual. In other words, it is special purpose
IT that interoperates with another IT product enabling a person with a disability to use the IT product.
Interoperability involves the ability to add or replace Assistive Technology (AT) to existing components of
Information Technology (IT) systems. Interoperability between AT and IT is best facilitated via the use of
standardized, public interfaces for all IT components.
This part of ISO/IEC 13066 describes the Java accessibility API that can be used as a framework to support
software to software IT-AT interoperability on the multiple computing platforms. It also describes the Java
Access Bridge for Windows – for enabling AT on Windows to interoperate with accessible Java applications
on the Microsoft Windows platform – and the Java Access Bridge for GNOME – for enabling AT on UNIX and
GNU/Linux platforms running the GNOME graphical desktop to interoperate with accessible Java applications
on UNIX and GNU/Linux environments.
NOTE 1 GNOME is both a common and accessible graphical desktop for Linux / UNIX graphical environments, as well
as an open source p
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.