QAccessibleInterface Class

QAccessibleInterface 클래스는 액세스 가능한 개체에 대한 정보를 표시하는 인터페이스를 정의합니다. 더 보기...

Header: #include <QAccessibleInterface>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
상속 대상:

QAccessibleObject

공용 함수

QAccessibleActionInterface *actionInterface()
virtual QColor backgroundColor() const
virtual QAccessibleInterface *child(int index) const = 0
virtual QAccessibleInterface *childAt(int x, int y) const = 0
virtual int childCount() const = 0
virtual QAccessibleInterface *focusChild() const
virtual QColor foregroundColor() const
virtual int indexOfChild(const QAccessibleInterface *child) const = 0
virtual void *interface_cast(QAccessible::InterfaceType type)
virtual bool isValid() const = 0
virtual QObject *object() const = 0
virtual QAccessibleInterface *parent() const = 0
virtual QRect rect() const = 0
virtual QList<QPair<QAccessibleInterface *, QAccessible::Relation>> relations(QAccessible::Relation match = QAccessible::AllRelations) const
virtual QAccessible::Role role() const = 0
(since 6.5) QAccessibleSelectionInterface *selectionInterface()
virtual void setText(QAccessible::Text t, const QString &text) = 0
virtual QAccessible::State state() const = 0
QAccessibleTableCellInterface *tableCellInterface()
QAccessibleTableInterface *tableInterface()
virtual QString text(QAccessible::Text t) const = 0
QAccessibleTextInterface *textInterface()
QAccessibleValueInterface *valueInterface()
virtual QWindow *window() const

보호된 함수

상세 설명

이 클래스는 QWidget 애플리케이션의 접근성 클래스의 일부입니다.

스크린 리더나 점자 디스플레이와 같은 접근성 도구(AT 클라이언트라고도 함)는 애플리케이션에서 접근 가능한 개체에 대한 높은 수준의 정보를 필요로 합니다. 접근 가능한 개체는 특수한 입력 및 출력 방법을 제공하여 사용자가 활성화된 애플리케이션(AT 서버)에서 접근성 도구를 사용할 수 있도록 합니다.

사용자가 상호 작용하거나 반응해야 하는 모든 요소는 접근 가능한 객체이며 이 정보를 제공해야 합니다. 이러한 객체는 주로 위젯 및 위젯 요소와 같은 시각적 객체이지만 사운드와 같은 콘텐츠일 수도 있습니다.

AT 클라이언트는 애플리케이션의 접근 가능한 개체에 대한 정보를 얻기 위해 세 가지 기본 개념을 사용합니다:

  • 속성 클라이언트는 접근 가능한 개체에 대한 정보를 읽을 수 있습니다. 경우에 따라 클라이언트는 이러한 속성을 수정할 수도 있습니다(예: 줄 편집의 텍스트).
  • 동작 클라이언트는 버튼 누르기 또는 . 등의 동작을 호출할 수 있습니다.
  • 관계 및 탐색 클라이언트는 객체 간의 관계를 사용하여 한 접근 가능한 객체에서 다른 접근 가능한 객체로 이동할 수 있습니다.

QAccessibleInterface는 이 세 가지 개념에 대한 API를 정의합니다.

관계 및 탐색

childCount() 및 indexOfChild() 함수는 접근 가능한 객체의 자식 수와 자식 객체가 부모 객체에서 갖는 인덱스를 반환합니다. childAt () 함수는 특정 위치에서 발견되는 자식 QAccessibleInterface를 반환합니다. 자식은 직접 자식일 필요는 없습니다. 부모가 이미 최상위 자식을 알고 있는 경우 중간 계층을 우회할 수 있습니다. childAt()는 히트 테스트(마우스 아래의 객체 찾기)에 사용됩니다.

relations() 함수는 객체가 다른 객체와의 관계에 대한 정보를 제공하며 parent() 및 child()는 한 객체에서 다른 객체로 이동할 수 있습니다.

속성

접근 가능한 개체의 핵심 속성은 role()에 있는 것입니다. 예를 들어 스크롤 막대의 "줄 추가" 요소와 대화 상자의 OK 버튼은 모두 동일한 역할인 "버튼"을 가질 수 있습니다. 역할은 사용자가 사용자 인터페이스 요소와 어떤 종류의 상호 작용을 수행할 수 있는지를 의미합니다.

개체의 state() 속성은 다양한 상태 플래그의 조합으로, 개체의 상태가 '일반' 상태와 어떻게 다른지(예: 사용할 수 없음)와 어떻게 동작하는지(예: 선택 가능)를 모두 설명할 수 있습니다.

text() 속성은 개체에 대한 텍스트 정보를 제공합니다. 객체에는 일반적으로 이름이 있지만 설명, 도움말 텍스트 또는 제공하는 키보드 단축키에 대한 정보와 같은 확장 정보를 제공할 수 있습니다. 일부 개체는 setText() 함수를 통해 text() 속성을 변경할 수 있지만 대부분의 경우 이 정보는 읽기 전용입니다.

rect() 속성은 접근 가능한 개체의 지오메트리에 대한 정보를 제공합니다. 이 정보는 일반적으로 시각적 객체에서만 사용할 수 있습니다.

인터페이스

사용자가 접근 가능한 객체와 상호 작용할 수 있도록 하려면 객체는 QAccessibleInterface 외에 QAccessibleActionInterface 를 구현해야 합니다. 선택을 지원하는 객체는 선택 내용을 변경하는 작업을 정의할 수 있습니다.

필요에 따라 구현해야 하는 다른 인터페이스가 몇 가지 더 있습니다. QAccessibleTextInterface 문서 보기와 같은 큰 텍스트 편집에는 이 인터페이스를 사용해야 합니다. 이 인터페이스는 레이블/한 줄 편집에는 구현해서는 안 됩니다.

슬라이더, 스크롤바 및 기타 숫자 값 선택기( QAccessibleValueInterface )의 경우 구현해야 합니다.

목록, 표 및 트리는 QAccessibleTableInterface 을 구현해야 합니다.

QAccessible, QAccessibleActionInterface, QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleTableInterface도 참조하세요 .

멤버 함수 문서

[virtual noexcept protected] QAccessibleInterface::~QAccessibleInterface()

QAccessibleInterface 를 파괴합니다.

QAccessibleActionInterface *QAccessibleInterface::actionInterface()

[virtual] QColor QAccessibleInterface::backgroundColor() const

해당되는 경우 접근 가능성의 배경색을 반환하거나 잘못된 QColor 을 반환합니다.

foregroundColor()도 참조하세요 .

[pure virtual] QAccessibleInterface *QAccessibleInterface::child(int index) const

인덱스가 index 로 접근 가능한 자식을 반환합니다. 0 기반 인덱스를 반환합니다. 객체의 자식 수는 childCount 으로 확인할 수 있습니다.

유효하지 않은 자식을 요청하는 경우(예: 그 사이에 자식이 유효하지 않게 된 경우) nullptr 를 반환합니다.

childCount() 및 parent()도 참조하세요 .

[pure virtual] QAccessibleInterface *QAccessibleInterface::childAt(int x, int y) const

화면 좌표(x, y)를 포함하는 자식의 QAccessibleInterface 을 반환합니다. 이 위치에 자식이 없는 경우 이 함수는 nullptr 을 반환합니다. 반환되는 접근 가능 객체는 자식이어야 하지만 반드시 직접 자식일 필요는 없습니다.

이 함수는 보이는 객체에 대해서만 신뢰할 수 있습니다(보이지 않는 객체는 올바르게 배치되지 않을 수 있음).

모든 시각적 객체는 이 정보를 제공합니다.

QAccessibleObject 을 상속하는 객체에 대한 기본 구현이 제공됩니다. 이 함수는 모든 자식에 대해 반복됩니다. 위젯이 자식(예: 테이블)을 관리하는 경우 특수 구현을 작성하는 것이 더 효율적입니다.

rect()도 참조하세요 .

[pure virtual] int QAccessibleInterface::childCount() const

이 객체에 속하는 자식 수를 반환합니다. 자식은 자체적으로 접근성 정보를 제공하거나(예: 자식 위젯) 이 접근성 객체의 하위 요소일 수 있습니다.

모든 객체는 이 정보를 제공합니다.

indexOfChild()도 참조하세요 .

[virtual] QAccessibleInterface *QAccessibleInterface::focusChild() const

키보드 포커스가 있는 개체를 반환합니다.

반환되는 객체는 자신을 포함한 모든 하위 객체가 될 수 있습니다.

[virtual] QColor QAccessibleInterface::foregroundColor() const

해당되는 경우 접근 가능한 전경색을 반환하거나 잘못된 QColor 을 반환합니다.

backgroundColor()도 참조하세요 .

[pure virtual] int QAccessibleInterface::indexOfChild(const QAccessibleInterface *child) const

이 객체의 자식 목록에 있는 child 객체의 0 기반 인덱스를 반환하거나 child 이 객체의 자식이 아닌 경우 -1을 반환합니다.

모든 객체는 자식에 대한 이 정보를 제공합니다.

childCount()도 참조하세요 .

[virtual] void *QAccessibleInterface::interface_cast(QAccessible::InterfaceType type)

일반 QAccessibleInterface 에서 특수 접근성 인터페이스 type 를 반환합니다.

이 함수는 특수 인터페이스를 통해 위젯이나 객체에 대한 자세한 정보를 제공할 때 다시 구현해야 합니다. 예를 들어 줄 편집은 QAccessibleTextInterface 을 구현해야 합니다.

QAccessible::InterfaceType, QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface, QAccessibleTableCellInterface참조하세요 .

[pure virtual] bool QAccessibleInterface::isValid() const

이 인터페이스 구현을 사용하는 데 필요한 모든 데이터가 유효하면 true 을 반환하고(예: 모든 포인터가 널이 아닌 경우), 그렇지 않으면 false 을 반환합니다.

object()도 참조하세요 .

[pure virtual] QObject *QAccessibleInterface::object() const

이 인터페이스 구현이 정보를 제공하는 QObject 에 대한 포인터를 반환합니다.

isValid()도 참조하세요 .

[pure virtual] QAccessibleInterface *QAccessibleInterface::parent() const

접근 가능한 객체 계층 구조에서 상위의 QAccessibleInterface 을 반환합니다.

부모가 존재하지 않는 경우(예: 최상위 애플리케이션 객체의 경우) nullptr 을 반환합니다.

child()도 참조하세요 .

[pure virtual] QRect QAccessibleInterface::rect() const

개체의 지오메트리를 반환합니다. 지오메트리는 화면 좌표입니다.

이 함수는 보이는 객체에 대해서만 신뢰할 수 있습니다(보이지 않는 객체는 올바르게 배치되지 않을 수 있음).

모든 시각적 객체는 이 정보를 제공합니다.

childAt()도 참조하세요 .

[virtual] QList<QPair<QAccessibleInterface *, QAccessible::Relation>> QAccessibleInterface::relations(QAccessible::Relation match = QAccessible::AllRelations) const

다른 위젯과의 의미 있는 관계를 반환합니다. 일반적으로 트리 보기와 같은 특정 방식으로 처리되지 않는 한 부모/자식 관계는 반환하지 않습니다. 일반적으로 레이블 기준 및 레이블 관계를 반환합니다.

선택적 매개 변수 match 를 사용하여 관계를 필터링할 수 있습니다. 이 함수는 절대로 자체적으로 반환해서는 안 됩니다.

parent() 및 child()도 참조하세요 .

[pure virtual] QAccessible::Role QAccessibleInterface::role() const

객체의 역할을 반환합니다. 객체의 역할은 일반적으로 정적입니다.

액세스 가능한 모든 객체에는 역할이 있습니다.

text() 및 state()도 참조하세요 .

[since 6.5] QAccessibleSelectionInterface *QAccessibleInterface::selectionInterface()

이 기능은 Qt 6.5에 도입되었습니다.

[pure virtual] void QAccessibleInterface::setText(QAccessible::Text t, const QString &text)

개체의 텍스트 속성 ttext 으로 설정합니다.

대부분의 개체의 텍스트 속성은 읽기 전용이므로 이 함수를 호출해도 효과가 없을 수 있습니다.

text()도 참조하세요 .

[pure virtual] QAccessible::State QAccessibleInterface::state() const

객체의 현재 상태를 반환합니다. 반환되는 값은 QAccessible::StateFlag 열거형에 있는 플래그의 조합입니다.

접근 가능한 모든 객체에는 상태가 있습니다.

text() 및 role()도 참조하세요 .

QAccessibleTableCellInterface *QAccessibleInterface::tableCellInterface()

QAccessibleTableInterface *QAccessibleInterface::tableInterface()

[pure virtual] QString QAccessibleInterface::text(QAccessible::Text t) const

객체의 텍스트 속성 t 값을 반환합니다.

QAccessible::Name 은 클라이언트가 사용자가 액세스할 수 있는 객체를 식별, 검색 또는 알리기 위해 사용하는 문자열입니다. 모든 객체는 컨테이너 내에서 고유한 이름을 가져야 합니다. 이름은 클라이언트에 따라 다르게 사용될 수 있으므로 이름은 개체에 대한 간단한 설명을 제공하면서 고유해야 합니다.

접근 가능한 개체의 QAccessible::Description 는 개체의 시각적 모양에 대한 텍스트 정보를 제공합니다. 설명은 주로 시각 장애가 있는 사용자에게 더 많은 컨텍스트를 제공하기 위해 사용되지만 컨텍스트 검색이나 다른 애플리케이션에도 사용됩니다. 모든 객체에 설명이 있는 것은 아닙니다. '확인' 버튼에는 설명이 필요하지 않지만 스마일 그림을 표시하는 도구 버튼에는 설명이 필요합니다.

접근 가능한 개체의 QAccessible::Value 는 해당 개체에 포함된 시각적 정보(예: 줄 편집의 텍스트)를 나타냅니다. 일반적으로 이 값은 사용자가 수정할 수 있습니다. 정적 텍스트 레이블처럼 모든 개체에 값이 있는 것은 아니며, 토글 버튼처럼 이미 값이 있는 상태인 개체도 있습니다.

QAccessible::Help 텍스트는 접근 가능한 개체의 기능 및 사용법에 대한 정보를 제공합니다. 모든 객체가 이 정보를 제공하는 것은 아닙니다.

QAccessible::Accelerator 은 개체의 기본 동작을 활성화하는 키보드 단축키입니다. 키보드 단축키는 메뉴, 메뉴 항목 또는 위젯의 텍스트에 밑줄이 그어진 문자로, 문자 자체 또는 이 문자와 Alt, Ctrl 또는 Shift와 같은 수정자 키의 조합입니다. 도구 버튼과 같은 명령 컨트롤에도 단축키가 있으며 일반적으로 도구 설명에 단축키가 표시됩니다.

QAccessible::Identifier 을 명시적으로 설정하여 보조 기술에 ID를 제공할 수 있습니다. 이는 UI 테스트에 특히 유용할 수 있습니다. 식별자가 명시적으로 설정되지 않은 경우 해당 인터페이스에서 QObject::objectName 또는 해당 클래스 이름과 QObject::objectName 또는 부모 체인에 있는 부모의 클래스 이름을 기반으로 한 ID로 식별자가 설정됩니다.

모든 객체는 QAccessible::Name 에 대한 문자열을 제공합니다.

setText(), role() 및 state()도 참조하세요 .

QAccessibleTextInterface *QAccessibleInterface::textInterface()

QAccessibleValueInterface *QAccessibleInterface::valueInterface()

[virtual] QWindow *QAccessibleInterface::window() const

기본 객체와 연관된 창을 반환합니다. 예를 들어 QAccessibleWidget 은 이를 재구현하여 QWidget 의 windowHandle() 을 반환합니다.

일부 플랫폼에서는 상태 변경에 대해 AT 클라이언트에 알리기 위해 사용됩니다. 백엔드는 창을 찾을 때까지 모든 조상을 거슬러 올라갑니다. (즉, 조상 중 하나 이상의 인터페이스가 유효한 QWindow 포인터를 반환해야 합니다).

기본 구현은 nullptr 을 반환합니다.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.