1、BSI Standards Publication Information technology Interoperability with assistive technology (AT) Part 4: Linux/UNIX graphical environments accessibility API PD ISO/IEC TR 13066-4:2015National foreword This Published Document is the UK implementation of ISO/IEC TR 13066-4:2015. The UK participation i
2、n its preparation was entrusted to Technical Committee ICT/-/6, ICT Accessibility. A list of organizations represented on this committee can be obtained on request to its secretary. This publication does not purport to include all the necessary provisions of a contract. Users are responsible for its
3、 correct application. The British Standards Institution 2015. Published by BSI Standards Limited 2015 ISBN 978 0 580 76640 4 ICS 11.180.99; 35.180 Compliance with a British Standard cannot confer immunity from legal obligations. This Published Document was published under the authority of the Standa
4、rds Policy and Strategy Committee on 30 November 2015. Amendments/corrigenda issued since publication Date Text affected PUBLISHED DOCUMENT PD ISO/IEC TR 13066-4:2015Information technology Interoperability with assistive technology (AT) Part 4: Linux/UNIX graphical environments accessibility API Tec
5、hnologies de linformation Interoprabilit avec les technologies dassistance Partie 4: Accessibilit API des environnements graphiques lInux/UNIX TECHNICAL REPORT ISO/IEC TR 13066-4 First edition 2015-11-01 Reference number ISO/IEC TR 13066-4:2015(E) ISO/IEC 2015 PD ISO/IEC TR 13066-4:2015 ii ISO/IEC 2
6、015 All rights reserved COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2015, Published in Switzerland 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 o
7、n the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below or ISOs member body in the country of the requester. ISO copyright office Ch. de Blandonnet 8 CP 401 CH-1214 Vernier, Geneva, Switzerland Tel. +41 22 749 01 11 Fax +41 22
8、 749 09 47 copyrightiso.org www.iso.org ISO/IEC TR 13066-4:2015(E) PD ISO/IEC TR 13066-4:2015 ISO/IEC TR 13066-4:2015(E)Foreword iv Introduction v 1 Scope . 1 2 T erms and definitions . 1 3 Overview . 4 3.1 General description . 4 3.2 Architecture . 5 3.2.1 ATK Aware Toolkits . 6 3.2.2 AT-SPI Aware
9、Assistive Technologies 11 3.3 Support apart from AT-SPI/ATK .12 4 Using the API 12 4.1 Overview .12 4.2 User Interface elements .12 4.3 Getting and setting focus .13 4.4 Communication mechanisms 14 4.5 How GNOME uses the ATK/AT-SPI accessibility Application Programming Interface 14 5 Exposing User I
10、nterface Element Information .15 5.1 Role, state(s), boundary, name, and description of the user interface element.15 5.2 Current value and any minimum or maximum values, if the user interface element represents one of a range of values 16 5.3 Text contents, text attributes, and the boundary of text
11、 rendered to the screen .17 5.4 The location of the user interface element in relation to other user interface elements 17 6 Exposing User Interface Element Actions 18 7 Keyboard focus 18 8 Events 19 8.1 Changes in the user interface element value .19 8.2 Changes in the name of the user interface el
12、ement .20 8.3 Changes in the description of the user interface element 20 8.4 Changes in the boundary of the user interface element 20 9 Pr ogr ammatic modifications of stat es, pr operties, v alues, and t e xt .20 10 Design considerations .21 10.1 Using AT-SPI/ATK 21 11 Further information .21 11.1
13、 Testing Accessibility with Accerciser .22 Bibliography .23 ISO/IEC 2015 All rights reserved iii Contents Page PD ISO/IEC TR 13066-4:2015 ISO/IEC TR 13066-4:2015(E) Foreword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the spec
14、ialized 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 c
15、ommittees 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 proc
16、edures 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 ru
17、les 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 rig
18、hts 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 ex
19、planation on the meaning of ISO specific terms and expressions related to conformity assessment, as well as information about ISOs adherence to the WTO principles in the Technical Barriers to Trade (TBT) see the following URL: Foreword - Supplementary information The committee responsible for this d
20、ocument 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:
21、Windows accessibility application programming interface (API) Technical Report Part 3: IAccessible2 accessibility application programming interface (API) Technical Report Part 4: Linux/UNIX graphical environments accessibility API Technical Report Part 6: Java accessibility application programming i
22、nterface (API) Technical Reportiv ISO/IEC 2015 All rights reserved PD ISO/IEC TR 13066-4:2015 ISO/IEC TR 13066-4:2015(E) Introduction Assistive technology (AT) is specialized information technology (IT) hardware or software that is added to or incorporated within a system that increases accessibilit
23、y 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)
24、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 following. AT-SPI The Assistive Technology Service Provider Interface (AT-SPI) API, which can be used as a toolkit agnostic f
25、ramework to support software to software IT-AT interoperability on Linux and UNIX graphical desktop environments. ATK The Accessibility Toolkit (ATK) library provides a set of interfaces in support of AT-SPI on the GUI application side. The interfaces are toolkit-independent implementations could be
26、 written for any widget set, such as GTK, Motif, or Qt. ISO/IEC 2015 All rights reserved v PD ISO/IEC TR 13066-4:2015 Information technology Interoperability with assistive technology (AT) Part 4: Linux/UNIX graphical environments accessibility API 1 Scope This part of ISO/IEC 13066 provides an over
27、view to the structure and terminology of the Linux/UNIX graphical environments accessibility API. It will provide the following: 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 ISO/
28、IEC 13066-1:2011, Annex A; an overview of the main properties, including of user interface elements, of how to get and set focus, and 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
29、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). It will provide this information as an introduction to the Java API to assist the following: I
30、T 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. 2 T erms a nd definiti ons For the purposes of this document, the following terms and definitions apply. 2.1 A11Y short
31、 form of “accessibility” or of “accessible” 2.2 accessible object part of the user interface (2.21) that is accessible by and exposes the Java accessibility API Note 1 to entry: An accessible object is represented by an object of the “AccessibleContext” Java class. TECHNICAL REPORT ISO/IEC TR 13066-
32、4:2015(E) ISO/IEC 2015 All rights reserved 1 PD ISO/IEC TR 13066-4:2015 ISO/IEC TR 13066-4:2015(E) 2.3 application programming interface API collection of invocation methods and associated parameters used by one piece of software to request actions from another piece of software 2.4 application soft
33、ware software that is specific to the solution of an application problem EXAMPLE A spreadsheet program is application software. 2.5 assistive technology AT hardware or software that is added to or incorporated within a system that increases accessibility for an individual EXAMPLE Braille displays, s
34、creen readers, screen magnification software, and eye tracking devices are assistive technologies. SOURCE: ISO 9241-171:2008, 3.5 Note 1 to entry: Within this part of ISO/IEC 13066, where Assistive Technology (AT) is used, it is to be considered as both singular and plural, without distinction. If i
35、t is to be used in the singular only, it will be preceded by the article “an” (i.e. an Assistive Technology). If it is to be used in the plural only, it will be preceded by the adjective “multiple” (i.e. multiple AT). 2.6 ATK The Accessibility Toolkit library which describes a set of interfaces that
36、 support the AT-SPI on the GUI application side Note 1 to entry: The ATK interfaces are toolkit-independent - implementations could be written for any widget set, such as GTK, Motif or Qt. 2.7 AtkObject base object class for the Accessibility Toolkit API Note 1 to entry: This is the ATK analog of MS
37、AAs and IAccessible2s “accessible object”. The AtkObject structure is not accessed directly. 2.8 AT-SPI The Assistive Technology Service Provider Interface API that can be used as a toolkit agnostic framework to support software to software IT-AT interoperability on Linux and UNIX graphical desktop
38、environments 2.9 clients components that use the services of another component Note 1 to entry: In this part of ISO/IEC 13066, client refers more specifically to a component that uses the services of either or both AT-SPI and/or ATK to access, identify, or manipulate the UI elements of an applicatio
39、n. 2.10 daemon software application that is not invoked explicitly, but lies dormant waiting for some condition(s) to occur2 ISO/IEC 2015 All rights reserved PD ISO/IEC TR 13066-4:2015 ISO/IEC TR 13066-4:2015(E) 2.11 embedded device embedded system computer system designed to perform one or a few de
40、dicated functions often with real-time computing constraints Note 1 to entry: It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of e
41、nd-user needs. Embedded systems control many devices in common use today. Note 2 to entry: In general, “embedded system” is not a strictly definable term, as most systems have some element of extensibility or programmability, e.g. hand-held computers share some elements with embedded systems such as
42、 the operating systems and microprocessors which power them, but they allow different applications to be loaded and peripherals to be connected. Moreover, even systems which dont expose programmability as a primary feature generally need to support software updates. On a continuum from “general purp
43、ose” to “embedded,” large application systems will have subcomponents at most points even if the system as a whole is “designed to perform one or a few dedicated functions,” and is thus appropriate to call “embedded.” 2.12 function defined objective or characteristic action of a system or component,
44、 e.g. a system has inventory control as its primary function SOURCE: IEEE Std. 610.12-1990 2.13 interface shared boundary between two functional units, defined by various characteristics pertaining to the functions, physical interconnections, signal exchanges, and other characteristics, as appropria
45、te 2.14 interoperability capability to communicate, execute programs, or transfer data among various functional units in a manner that requires the user to have little or no knowledge of the unique characteristics of those units 2.15 inter-process communication IPC mechanism by which different softw
46、are processes communicate with each other across process boundaries, runtime environments, and sometimes also computers and operating systems (2.16) 2.16 operating system OS software that controls the execution of programs and that may provide services such as resource allocation, scheduling, input-
47、output control, and data management Note 1 to entry: Although operating systems are predominantly software, partial hardware implementations are possible. 2.17 servers in the context of this part of ISO/IEC 13066 and of assistive technology, servers are components (applications, libraries, etc.) tha
48、t have UI and expose information about the UI and/or allow it to be manipulated 2.18 service functionality made available to a user electronically, e.g. airline reservation service, currency translation services, weather forecasting, restaurant recommendations are all services SOURCE: ISO/IEC 24752-
49、1:2014, 4.27 ISO/IEC 2015 All rights reserved 3 PD ISO/IEC TR 13066-4:2015 ISO/IEC TR 13066-4:2015(E) 2.19 software all or part of the programs, procedures, rules, and associated documentation of an information processing system Note 1 to entry: Software is an intellectual creation that is independent of the medium on which it is recorded. 2.20 system software platform software application-independent software that supports the running of application software (2.4), e.g. an operati