본문 바로가기

SW 지식/Accessibility 접근성

그렇다면 ATK 란 무엇일까?

ATK, Accessibility Toolkit, 은 '접근성 도구'라고 해석해볼 수 있을 것 같습니다. 컴퓨팅에선 특히 Gnome ATK를 가리키는 용어입니다.

툴킷(Toolkit 도구) 종류의 하나인 Gnome ATK는 오픈소스 라이브러리로, 프로그래머들이 소프트웨어 개발 시 공통 Accessibility API를 제공하여 사용할 수 있게 합니다. (Gnome project의 일부) 여기에는 시각 장애인들을 위한 고대비 테마, 스크린 리더와 같은 기능들을 포함합니다.

GNOME은 ATK 프레임워크를 사용하여 접근성 장치에 대한 지원을 제공합니다. 이 프레임워크는 그래픽 인터페이스 구성 요소가 준수하는 인터페이스 집합을 정의합니다. 이를 통해, 예를 들어, 스크린 리더가 인터페이스의 텍스트를 읽고 해당 컨트롤과 상호 작용할 수 있습니다. ATK 지원은 GTK+ 및 나머지 GNOME 플랫폼에 내장되어 있으므로 GTK+를 사용하는 모든 애플리케이션은 합리적인 접근성 지원을 무료로 받을 수 있습니다.
GNOME provides support for accessibility devices using the ATK framework. This framework defines a set of interfaces to which graphical interface components adhere. This allows, for instance, screen readers to read the text of an interface and interact with its controls. ATK support is built into GTK+ and the rest of the GNOME platform, so any application using GTK+ will have reasonable accessibility support for free.

(출처 : https://gnome.pages.gitlab.gnome.org/atk/overview.html )

보통 Client 측과 Server 측 application 모두에 대한 API는 동일하지만, Accessibility framework는 각 API의 client와 server의 구현을 제공합니다. 즉, GNOME의 경우, 두 가지 다른 API를 제공합니다. 하나는 Client 용 AT-SPI (Assistive Technology Service Provider Interface)이고, 다른 하나는 Server 용 ATK입니다.

-> 여기서 새로 나온 용어인, AT-SPI는 다음 게시물에 이어서 작성해보도록 하겠습니다 :)


좀 더 자세히 알아보면, Atk library의 가장 기본은 AtkObject 입니다. AtkObject 인스턴스(또는 AtkObject 파생된 인스턴스)인 개체는 이름 및 설명과 같은 UI 구성 요소의 기본 속성을 질문 받습니다. 또한, AtkObject 인스턴스는 사용자 인터페이스에서 주어진 UI 구성 요소가 수행하는 역할에 따라 다른 ATK 인터페이스(예로, AtkAction, AtkComponent 등)를 구현하는지 여부도 물어볼 수 있습니다.

This class is the primary class for accessibility support via the Accessibility ToolKit (ATK). Objects which are instances of AtkObject (or instances of AtkObject-derived types) are queried for properties which relate basic (and generic) properties of a UI component such as name and description. Instances of AtkObject may also be queried as to whether they implement other ATK interfaces (e.g. AtkAction, AtkComponent, etc.), as appropriate to the role which a given UI component plays in a user interface.

(출처 : https://gnome.pages.gitlab.gnome.org/atk/AtkObject.html )

 

AtkObject: ATK - Accessibility Toolkit

AtkObject AtkObject — The base object class for the Accessibility Toolkit API. Object Hierarchy GEnum ├── AtkLayer ╰── AtkRole GInterface ╰── AtkImplementorIface GObject ╰── AtkObject ├── AtkGObjectAccessible ├── AtkNo

gnome.pages.gitlab.gnome.org

이 외에 자세한 것은 gnome 페이지에서 참고하시길 바라며 링크 남겨놓고 이번 게시글은 여기까지! 입니다. 뿅.

https://gnome.pages.gitlab.gnome.org/atk/

'SW 지식 > Accessibility 접근성' 카테고리의 다른 글

AT-SPI 정리  (0) 2021.09.02
Accessibility의 정의  (0) 2021.09.01