QAccessible Class

QAccessible 클래스는 접근성과 관련된 열거형 및 정적 함수를 제공합니다. 더 보기...

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

공용 유형

struct State
(since 6.8) enum class AnnouncementPoliteness { Polite, Assertive }
(since 6.8) enum class Attribute { Custom, Level }
enum Event { AcceleratorChanged, ActionChanged, ActiveDescendantChanged, Alert, Announcement, …, VisibleDataChanged }
Id
InterfaceFactory
enum InterfaceType { TextInterface, ValueInterface, ActionInterface, TableInterface, TableCellInterface, …, AttributesInterface }
flags Relation
enum RelationFlag { Label, Labelled, Controller, Controlled, DescriptionFor, …, AllRelations }
enum Role { AlertMessage, Animation, Application, Assistant, Border, …, Window }
enum Text { Name, Description, Value, Help, Accelerator, …, Identifier }
enum TextBoundaryType { CharBoundary, WordBoundary, SentenceBoundary, ParagraphBoundary, LineBoundary, NoBoundary }

정적 공용 멤버

QAccessibleInterface *accessibleInterface(QAccessible::Id id)
void deleteAccessibleInterface(QAccessible::Id id)
void installFactory(QAccessible::InterfaceFactory factory)
bool isActive()
QAccessibleInterface *queryAccessibleInterface(QObject *object)
QAccessible::Id registerAccessibleInterface(QAccessibleInterface *iface)
void removeFactory(QAccessible::InterfaceFactory factory)
void setRootObject(QObject *object)
QAccessible::Id uniqueId(QAccessibleInterface *iface)
void updateAccessibility(QAccessibleEvent *event)

상세 설명

이 클래스는 QWidget 응용 프로그램의 접근성 클래스의 일부입니다.

접근 가능한 응용 프로그램은 일반적인 방법으로 응용 프로그램을 사용할 수 없는 사람들이 사용할 수 있습니다.

이 클래스의 함수는 접근성 응용 프로그램(AT 서버라고도 함)과 스크린 리더 및 점자 디스플레이와 같은 접근성 도구(AT 클라이언트) 간의 통신에 사용됩니다. 클라이언트와 서버는 다음과 같은 방식으로 통신합니다:

  • AT 서버는 updateAccessibility() 함수 호출을 통해 클라이언트에게 이벤트에 대해 알립니다.
  • AT 클라이언트는 서버의 객체에 대한 정보를 요청합니다. QAccessibleInterface 클래스는 핵심 인터페이스이며, 이 정보를 순수 가상 API로 캡슐화합니다. 인터페이스의 구현은 queryAccessibleInterface() API를 통해 Qt에서 제공합니다.

서버와 클라이언트 간의 통신은 setRootObject() 함수에 의해 초기화됩니다. 함수 포인터를 설치하여 QAccessible의 정적 함수의 기본 동작을 대체하거나 확장할 수 있습니다.

Qt는 MSAA(Microsoft 액티브 접근성), macOS 접근성 및 Unix/X11 AT-SPI 표준을 지원합니다. 다른 백엔드는 QAccessibleBridge를 사용하여 지원할 수 있습니다.

Unix/X11 AT-SPI 구현에서는 두 가지 조건이 충족되면 애플리케이션에 액세스할 수 있습니다:

  • org.a11y.Status.IsEnabled DBus 속성이 true입니다.
  • org.a11y.Status.ScreenReaderEnabled DBus 속성이 true입니다.

DBus AT-SPI 속성을 설정하는 대신 QT_LINUX_ACCESSIBILITY_ALWAYS_ON 환경 변수를 설정하는 방법도 있습니다.

QAccessible의 정적 함수 외에도 Qt는 모든 위젯과 객체를 래핑하는 데 사용할 수 있는 하나의 일반 인터페이스( QAccessibleInterface)를 제공합니다(예: QPushButton). 이 단일 인터페이스는 보조 기술에 필요한 모든 메타데이터를 제공합니다. Qt는 내장 위젯을 위한 이 인터페이스의 구현을 플러그인으로 제공합니다.

사용자 정의 위젯을 개발할 때 QAccessibleInterface 의 사용자 정의 서브클래스를 만들어 플러그인으로 배포하거나 ( QAccessiblePlugin)를 사용하여 애플리케이션에 컴파일할 수 있습니다. 마찬가지로, Qt의 사전 정의된 접근성 지원은 플러그인(기본값)으로 빌드하거나 Qt 라이브러리에 직접 빌드할 수 있습니다. 플러그인 사용의 가장 큰 장점은 접근성 클래스가 실제로 사용되는 경우에만 메모리에 로드되므로 보조 기술이 사용되지 않는 일반적인 경우에는 속도가 느려지지 않는다는 것입니다.

Qt에는 또한 QAccessibleInterface 에서 상속되어 메타데이터의 최저 공통 분모(예: 위젯 지오메트리, 창 제목, 기본 도움말 텍스트)를 제공하는 두 개의 편의 클래스 QAccessibleObjectQAccessibleWidget 가 포함되어 있습니다. 사용자 정의 QObject 또는 QWidget 서브클래스를 래핑할 때 기본 클래스로 사용할 수 있습니다.

QAccessibleInterface참조하세요 .

멤버 유형 문서

[since 6.8] enum class QAccessible::AnnouncementPoliteness

이 열거형은 QAccessibleAnnouncementEvent 에서 사용하는 알림의 우선 순위를 설명합니다.

QAccessible::AnouncementPoliteness::Polite 을 사용하면 보조 기술은 현재 문장을 말할 때나 사용자가 타이핑을 일시 중지할 때와 같이 다음 적절한 기회에 메시지를 알려야 합니다.

QAccessible::AnouncementPoliteness::Assertive 을 지정하는 경우 보조 기술은 사용자에게 즉시 알려야 합니다.

중단으로 인해 사용자가 혼란스러워하거나 현재 작업을 완료하지 못할 수 있으므로 반드시 중단해야 하는 경우가 아니라면 QAccessible::AnouncementPoliteness::Assertive 을 사용해서는 안 됩니다.

상수설명
QAccessible::AnnouncementPoliteness::Polite0이 공지사항의 우선순위는 보통입니다.
QAccessible::AnnouncementPoliteness::Assertive1알림의 우선순위가 높으므로 사용자의 현재 작업을 중단하는 한이 있더라도 사용자에게 즉시 알려야 합니다.

이 열거형은 Qt 6.8에 도입되었습니다.

QAccessibleAnnouncementEvent참조하세요 .

[since 6.8] enum class QAccessible::Attribute

이 열거형은 QAccessibleAttributesInterface 에서 사용하는 다양한 유형의 속성을 설명합니다.

이러한 속성은 ARIA, AT-SPI2, IAccessible, UIA 및 NSAccessibility에 있는 속성/(객체) 속성의 개념과 유사하며 해당하는 경우 해당 플랫폼에 매핑됩니다.

각 속성은 키-값 쌍으로 처리되며, 이 열거형의 값이 키로 사용됩니다.

속성 값은 QVariant. QVariant 에 저장된 값의 유형은 고정되어 있으며 각 속성 유형에 대해 아래에 명시되어 있습니다.

상수설명
QAccessible::Attribute::Custom0값 유형: QHash<QString, QString> Custom 속성은 그 자체가 키-값 쌍을 나타내는 데 사용되는 QHash 이므로 한 번에 여러 속성을 효과적으로 나타낼 수 있다는 점에서 특별합니다. 속성에 대한 사용자 정의 키-값 쌍을 지원하는 플랫폼의 경우 Custom 속성에 설정된 속성은 플랫폼별 속성에 대한 번역을 적용하지 않고 플랫폼 계층에 브리지됩니다. 일반적으로 더 강력하게 입력된 다른 어트리뷰트를 사용해야 합니다. 이 속성은 예를 들어 특정 기능에 대한 공식적인 새 열거형 값을 공식적으로 추가하기 전에 프로토타이핑에 사용할 수 있습니다.
QAccessible::Attribute::Level1값 유형: int 구조 내 요소의 계층적 수준(예: 제목의 헤딩 수준)을 정의합니다. 이 속성은 개념적으로 ARIA의 "aria-level" 속성과 일치합니다.

이 열거형은 Qt 6.8에 도입되었습니다.

QAccessibleAttributesInterface참조하십시오 .

enum QAccessible::Event

이 열거형 유형은 액세스 가능한 이벤트 유형을 정의합니다.

Constant설명
QAccessible::AcceleratorChanged0x80C0액션의 키보드 가속기가 변경되었습니다.
QAccessible::ActionChanged0x0101동작이 변경되었습니다.
QAccessible::ActiveDescendantChanged0x0102
QAccessible::Alert0x0002시스템 알림(예: QMessageBox)의 메시지입니다.
QAccessible::Announcement (since Qt 6.8)0x80D0메시지 알림이 요청되었습니다.
QAccessible::AttributeChanged0x0103
QAccessible::ContextHelpEnd0x000D개체에 대한 컨텍스트 도움말(QWhatsThis)이 완료되었습니다.
QAccessible::ContextHelpStart0x000C객체에 대한 컨텍스트 도움말(QWhatsThis)이 시작됩니다.
QAccessible::DefaultActionChanged0x80B0접근 가능한 개체에 대한 기본 QAccessible::Action이 변경되었습니다.
QAccessible::DescriptionChanged0x800D개체의 QAccessible::Description 가 변경되었습니다.
QAccessible::DialogEnd0x0011대화 상자(QDialog)가 숨겨졌습니다.
QAccessible::DialogStart0x0010대화 상자(QDialog)가 표시되도록 설정되었습니다.
QAccessible::DocumentContentChanged0x0104텍스트 문서의 콘텐츠가 변경되었습니다.
QAccessible::DocumentLoadComplete0x0105문서가 로드되었습니다.
QAccessible::DocumentLoadStopped0x0106문서 로드가 중지되었습니다.
QAccessible::DocumentReload0x0107문서 다시 로드가 시작되었습니다.
QAccessible::DragDropEnd0x000F끌어서 놓기 작업이 곧 완료됩니다.
QAccessible::DragDropStart0x000E끌어서 놓기 작업이 곧 시작됩니다.
QAccessible::Focus0x8005개체가 키보드 포커스를 얻었습니다.
QAccessible::ForegroundChanged0x0003창이 활성화되었습니다(즉, 새 창이 바탕화면에서 포커스를 얻었습니다).
QAccessible::HelpChanged0x80A0개체의 QAccessible::Help 텍스트 속성이 변경되었습니다.
QAccessible::HyperlinkEndIndexChanged0x0108하이퍼텍스트 링크의 표시 텍스트 끝 위치가 변경되었습니다.
QAccessible::HyperlinkNumberOfAnchorsChanged0x0109하이퍼텍스트 링크의 앵커 수가 변경되었습니다(표시 텍스트가 두 개 이상의 링크를 제공하기 위해 분할되었기 때문일 수 있음).
QAccessible::HyperlinkSelectedLinkChanged0x010A선택한 하이퍼텍스트 링크의 링크가 변경되었습니다.
QAccessible::HyperlinkStartIndexChanged0x010D하이퍼텍스트 링크의 표시 텍스트 시작 위치가 변경되었습니다.
QAccessible::HypertextChanged0x010E하이퍼텍스트 링크의 표시 텍스트가 변경되었습니다.
QAccessible::HypertextLinkActivated0x010B하이퍼텍스트 링크가 클릭 또는 키 누름을 통해 활성화되었습니다.
QAccessible::HypertextLinkSelected0x010C하이퍼텍스트 링크가 선택되었습니다.
QAccessible::HypertextNLinksChanged0x010F
QAccessible::IdentifierChanged (since Qt 6.8)0x80E0객체의 식별자가 변경되었습니다.
QAccessible::LocationChanged0x800B화면에서 객체의 위치가 변경되었습니다.
QAccessible::MenuCommand0x0018메뉴 항목이 트리거되었습니다.
QAccessible::MenuEnd0x0005메뉴가 닫혔습니다 (Qt는 모든 메뉴에 PopupMenuEnd를 사용합니다).
QAccessible::MenuStart0x0004메뉴 바에서 메뉴가 열렸습니다 (Qt는 모든 메뉴에 PopupMenuStart를 사용합니다).
QAccessible::NameChanged0x800C개체의 QAccessible::Name 속성이 변경되었습니다.
QAccessible::ObjectAttributeChanged0x0110
QAccessible::ObjectCreated0x8000새 객체가 생성되었습니다.
QAccessible::ObjectDestroyed0x8001개체가 삭제되었습니다.
QAccessible::ObjectHide0x8003개체가 숨겨집니다(예: QWidget::hide()). 숨겨진 객체에 있는 모든 자식은 이 이벤트를 보내지 않습니다. 객체가 다른 객체에 의해 가려져 숨겨져 있는 경우에는 이 이벤트가 전송되지 않습니다.
QAccessible::ObjectReorder0x8004레이아웃 또는 항목 보기가 객체를 추가, 제거 또는 이동한 경우(Qt는 이 이벤트를 사용하지 않음).
QAccessible::ObjectShow0x8002개체가 표시된 경우(예: QWidget::show()).
QAccessible::PageChanged0x0111
QAccessible::ParentChanged0x800F객체의 부모 객체가 변경되었습니다.
QAccessible::PopupMenuEnd0x0007팝업 메뉴가 닫혔습니다.
QAccessible::PopupMenuStart0x0006팝업 메뉴가 열렸습니다.
QAccessible::ScrollingEnd0x0013스크롤 막대 스크롤 작업이 종료되었습니다(마우스가 슬라이더 핸들에서 손을 뗐습니다).
QAccessible::ScrollingStart0x0012스크롤 막대 스크롤 작업이 시작되려고 합니다(예: 마우스가 슬라이더 핸들을 눌렀기 때문일 수 있음).
QAccessible::SectionChanged0x0112
QAccessible::SelectionAdd0x8007항목 보기의 선택 항목에 항목이 추가되었습니다.
QAccessible::SelectionRemove0x8008항목 보기 선택 항목에서 항목이 제거되었습니다.
QAccessible::Selection0x8006메뉴 또는 항목 보기에서 선택 항목이 변경되었습니다.
QAccessible::SelectionWithin0x8009항목 보기에서 선택 항목에 여러 가지 변경 사항이 발생했습니다.
QAccessible::SoundPlayed0x0001객체에서 사운드가 재생되었습니다.
QAccessible::TableCaptionChanged0x0113표 캡션이 변경되었습니다.
QAccessible::TableColumnDescriptionChanged0x0114일반적으로 열 머리글에 있는 표 열의 설명이 변경되었습니다.
QAccessible::TableColumnHeaderChanged0x0115표 열 머리글이 변경되었습니다.
QAccessible::TableRowDescriptionChanged0x0117일반적으로 행의 머리글에 있는 표 행의 설명이 변경되었습니다.
QAccessible::TableRowHeaderChanged0x0118표 행 머리글이 변경되었습니다.
QAccessible::TableSummaryChanged0x0119표의 요약이 변경되었습니다.
QAccessible::TextColumnChanged0x011D텍스트 열이 변경되었습니다.
QAccessible::VisibleDataChanged0x0122

이 열거형 열거형의 값은 IAccessible2MSAA 사양에 정의된 값과 동일하게 정의됩니다.

QAccessible::Id

서명되지 않은 것과 동의어로, QAccessibleInterface 캐시에서 사용합니다.

QAccessible::InterfaceFactory

이것은 다음 서명을 가진 함수에 대한 포인터에 대한 타입 정의입니다:

typedef QAccessibleInterface *myFactoryFunction(const QString &key, QObject *);

이 함수는 QStringQObject 포인터를 받는데, 여기서 QString 는 인터페이스를 식별하는 키입니다. QObjectQAccessibleInterface 에 전달하여 참조를 보유할 수 있도록 하는 데 사용됩니다.

키와 QObject 에 해당하는 QAccessibleInterface 이 없으면 nullptr 이 반환됩니다.

설치된 팩토리는 인터페이스를 제공할 때까지 쿼리 접근성 인터페이스()에 의해 호출됩니다.

enum QAccessible::InterfaceType

QAccessibleInterface 는 여러 하위 인터페이스를 지원합니다. 일부 객체에 대한 자세한 정보를 제공하려면 해당 객체의 접근 가능한 표현은 이러한 인터페이스 중 하나 이상을 구현해야 합니다.

참고: 이러한 인터페이스 중 하나를 서브클래싱할 때는 QAccessibleInterface::interface_cast()를 구현해야 합니다.

상수설명
QAccessible::TextInterface0선택을 지원하거나 한 줄 이상인 텍스트의 경우. 단순한 레이블은 이 인터페이스를 구현할 필요가 없습니다.
QAccessible::ValueInterface2슬라이더나 스크롤 막대와 같이 값을 조작하는 데 사용되는 객체의 경우.
QAccessible::ActionInterface3사용자가 동작을 트리거할 수 있는 대화형 개체의 경우. 기본적으로 마우스 상호작용을 허용하는 모든 것이 해당됩니다.
QAccessible::TableInterface5목록, 표 및 트리의 경우.
QAccessible::TableCellInterface6TableInterface 객체의 셀.
QAccessible::HyperlinkInterface7하이퍼링크 노드(일반적으로 텍스트 노드의 자식으로 임베드됨)
QAccessible::SelectionInterface (since Qt 6.5)8자식 객체 선택을 지원하는 비텍스트 객체의 경우.
QAccessible::AttributesInterface (since Qt 6.8)9객체별 속성을 지원하는 객체의 경우.

QAccessibleInterface::interface_cast(), QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface, QAccessibleTableCellInterface, QAccessibleSelectionInterface, QAccessibleAttributesInterface참조하세요 .

열거형 QAccessible::RelationFlag
플래그 QAccessible::Relation

이 열거형 유형은 액세스 가능한 두 객체 간의 관계를 나타내기 위해 결합할 수 있는 비트 플래그를 정의합니다. 각 객체에 대한 관계와 함께 호출 객체의 모든 관련 인터페이스 목록을 반환하는 relations() 함수에서 사용됩니다.

목록의 각 항목은 second 멤버가 first 멤버로 표시되는 returned 객체와 origin (호출자) 인터페이스/객체 간의 관계 유형을 저장하는 QPair 입니다.

아래 표에서 returned 객체는 반환된 목록의 객체를 참조하고 origin 객체는 호출 인터페이스가 나타내는 객체입니다.

상수설명
QAccessible::Label0x00000001returned 객체는 origin 객체에 대한 레이블입니다.
QAccessible::Labelled0x00000002returned 객체는 origin 객체에 의해 레이블이 지정됩니다.
QAccessible::Controller0x00000004returned 객체는 origin 객체를 제어합니다.
QAccessible::Controlled0x00000008returned 객체는 origin 객체에 의해 제어됩니다.
QAccessible::DescriptionFor (since Qt 6.6)0x00000010returned 객체는 origin 객체에 대한 설명을 제공합니다.
QAccessible::Described (since Qt 6.6)0x00000020returned 객체는 origin 객체에 의해 설명됩니다.
QAccessible::FlowsFrom (since Qt 6.6)0x00000040콘텐츠는 returned 객체에서 origin 객체로 논리적으로 흐릅니다.
QAccessible::FlowsTo (since Qt 6.6)0x00000080콘텐츠는 origin 객체에서 returned 객체로 논리적으로 흐릅니다.
QAccessible::AllRelations0xffffffff모든 관계에 대한 정보에 관심이 있음을 지정하는 마스크로 사용됩니다.

relations()의 구현은 이러한 플래그의 조합을 반환합니다. 일부 값은 상호 배타적입니다.

Relation 유형은 QFlags<RelationFlag>에 대한 typedef입니다. RelationFlag 값의 OR 조합을 저장합니다.

enum QAccessible::Role

이 열거형은 접근 가능한 객체의 역할을 정의합니다. 역할은 다음과 같습니다:

상수설명
QAccessible::AlertMessage0x00000008사용자에게 경고하는 데 사용되는 객체입니다.
QAccessible::Animation0x00000036애니메이션을 표시하는 객체입니다.
QAccessible::Application0x0000000E애플리케이션의 기본 창입니다.
QAccessible::Assistant0x00000020대화형 도움말을 제공하는 객체입니다.
QAccessible::Border0x00000013테두리를 나타내는 객체입니다.
QAccessible::ButtonDropDown0x00000038항목 목록을 드롭다운하는 버튼입니다.
QAccessible::ButtonDropGrid0x0000003A그리드를 드롭다운하는 버튼입니다.
QAccessible::ButtonMenu0x00000039메뉴를 드롭다운하는 버튼입니다.
QAccessible::Canvas0x00000035사용자가 상호 작용할 수 있는 그래픽을 표시하는 객체입니다.
QAccessible::Caret0x00000007시스템 캐럿(텍스트 커서)을 나타내는 객체입니다.
QAccessible::Cell0x0000001D표의 셀입니다.
QAccessible::Chart0x00000011데이터의 그래픽 표현을 표시하는 객체입니다.
QAccessible::CheckBox0x0000002C선택하거나 선택 취소할 수 있는 옵션을 나타내는 객체입니다. 일부 옵션은 '혼합' 상태(예: 선택되지 않거나 선택되지 않은 상태)를 제공합니다.
QAccessible::Client0x0000000A창에서 클라이언트 영역.
QAccessible::Clock0x0000003D시간을 표시하는 시계입니다.
QAccessible::ColorChooser0x404사용자가 색상을 선택할 수 있는 대화상자입니다.
QAccessible::Column0x0000001B일반적으로 표 내의 셀 열입니다.
QAccessible::ColumnHeader0x00000019데이터 열의 헤더입니다.
QAccessible::ComboBox0x0000002E사용자가 선택할 수 있는 선택 목록입니다.
QAccessible::ComplementaryContent0x42C문서 또는 웹 페이지의 주요 콘텐츠를 보완하는 부분으로, 일반적으로 랜드마크입니다(WAI-ARIA 참조).
QAccessible::Cursor0x00000006마우스 커서를 나타내는 개체입니다.
QAccessible::Desktop0x00000082바탕 화면 또는 작업 공간을 나타내는 개체입니다.
QAccessible::Dial0x00000031다이얼 또는 노브를 나타내는 개체입니다.
QAccessible::Dialog0x00000012대화 상자.
QAccessible::Document0x0000000F문서(예: 오피스 애플리케이션)입니다.
QAccessible::EditableText0x0000002A줄 또는 텍스트 수정과 같은 편집 가능한 텍스트.
QAccessible::Equation0x00000037수학 방정식을 나타내는 개체.
QAccessible::Footer0x40E페이지의 바닥글(일반적으로 문서에서).
QAccessible::Form0x410컨트롤이 포함된 웹 양식.
QAccessible::Graphic0x00000028그래픽 또는 그림(예: 아이콘).
QAccessible::Grip0x00000004사용자가 드래그하여 위젯의 크기를 변경할 수 있는 그립.
QAccessible::Grouping0x00000014다른 객체의 논리적 그룹을 나타내는 객체.
QAccessible::Heading0x414문서의 제목입니다.
QAccessible::HelpBalloon0x0000001F별도의 짧은 창에 도움말을 표시하는 개체입니다.
QAccessible::HotkeyField0x00000032사용자가 키 시퀀스를 입력할 수 있는 단축키 필드입니다.
QAccessible::Indicator0x00000027현재 값 또는 항목을 나타내는 표시기입니다.
QAccessible::LayeredPane0x00000080스택과 같이 계층화된 하위 항목을 포함할 수 있는 개체입니다.
QAccessible::Link0x0000001E다른 항목에 대한 링크.
QAccessible::List0x00000021사용자가 하나 이상의 항목을 선택할 수 있는 항목 목록입니다.
QAccessible::ListItem0x00000022항목 목록의 항목입니다.
QAccessible::MenuBar0x00000002사용자가 메뉴를 여는 메뉴 모음입니다.
QAccessible::MenuItem0x0000000C메뉴 또는 메뉴 표시줄의 항목입니다.
QAccessible::NoRole0x00000000객체에는 역할이 없습니다. 일반적으로 잘못된 객체를 나타냅니다.
QAccessible::Note0x41B리소스의 주요 콘텐츠에 대한 괄호 또는 부수적인 콘텐츠가 있는 섹션입니다.
QAccessible::Notification0x00000086알림을 나타내는 객체(예: 시스템 트레이)입니다. 이 역할은 Linux에서만 영향을 줍니다.
QAccessible::PageTab0x00000025사용자가 대화 상자에서 다른 페이지로 전환하기 위해 선택할 수 있는 페이지 탭입니다.
QAccessible::PageTabList0x0000003C페이지 탭의 목록입니다.
QAccessible::Paragraph0x00000083텍스트 단락(일반적으로 문서에서 볼 수 있음).
QAccessible::Pane0x00000010일반 컨테이너.
QAccessible::PopupMenu0x0000000B사용자가 작업을 수행하기 위해 선택할 수 있는 옵션을 나열하는 메뉴입니다.
QAccessible::ProgressBar0x00000030개체는 진행 중인 작업의 진행률을 표시합니다.
QAccessible::PropertyPage0x00000026사용자가 옵션 및 설정을 변경할 수 있는 속성 페이지입니다.
QAccessible::Button0x0000002B버튼.
QAccessible::RadioButton0x0000002D다른 옵션과 상호 배타적인 옵션을 나타내는 개체입니다.
QAccessible::Row0x0000001C일반적으로 표 내의 셀 행입니다.
QAccessible::RowHeader0x0000001A데이터 행의 헤더입니다.
QAccessible::ScrollBar0x00000003사용자가 표시되는 영역을 스크롤할 수 있는 스크롤 막대입니다.
QAccessible::Section0x00000085섹션(문서 내).
QAccessible::Separator0x00000015공간을 논리적인 영역으로 구분하는 구분 기호입니다.
QAccessible::Slider0x00000033사용자가 주어진 범위 내에서 값을 선택할 수 있는 슬라이더입니다.
QAccessible::Sound0x00000005소리를 나타내는 개체입니다.
QAccessible::SpinBox0x00000034사용자가 주어진 범위 내에서 값을 입력할 수 있는 회전 상자 위젯입니다.
QAccessible::Splitter0x0000003E자식 위젯 사이에 사용 가능한 공간을 분배하는 분할기.
QAccessible::StaticText0x00000029다른 위젯의 레이블과 같은 정적 텍스트.
QAccessible::StatusBar0x00000017상태 표시줄.
QAccessible::Table0x00000018행과 열의 그리드로 데이터를 나타내는 표입니다.
QAccessible::Terminal0x00000081터미널 또는 명령줄 인터페이스.
QAccessible::TitleBar0x00000001창의 제목 표시줄 캡션.
QAccessible::ToolBar0x00000016사용자가 자주 액세스하는 위젯을 그룹화하는 도구 모음입니다.
QAccessible::ToolTip0x0000000D다른 개체에 대한 정보를 제공하는 도구 설명.
QAccessible::Tree0x00000023트리 구조의 항목 목록입니다.
QAccessible::TreeItem0x00000024트리 구조의 항목입니다.
QAccessible::UserRole0x0000ffff사용자 정의 역할에 사용되는 첫 번째 값입니다.
QAccessible::WebDocument0x00000084일반적으로 브라우저에 있는 HTML 문서.
QAccessible::Whitespace0x0000003B다른 객체 사이의 빈 공간입니다.
QAccessible::Window0x00000009최상위 수준 창입니다.

enum QAccessible::Text

이 열거형은 액세스 가능한 객체가 반환하는 문자열 정보를 지정합니다.

Constant설명
QAccessible::Name0객체의 이름입니다. 접근 가능한 클라이언트에서 식별자 또는 간단한 설명으로 사용할 수 있습니다.
QAccessible::Description1객체를 설명하는 짧은 텍스트입니다.
QAccessible::Value2객체의 값입니다.
QAccessible::Help3객체 사용 방법에 대한 정보를 제공하는 긴 텍스트입니다.
QAccessible::Accelerator4개체의 기본 동작을 실행하는 키보드 단축키입니다.
QAccessible::UserText0x0000ffff사용자 정의 텍스트에 사용할 첫 번째 값입니다.
QAccessible::Identifier (since Qt 6.8)6UI 테스트 등을 위한 객체의 식별자입니다.

enum QAccessible::TextBoundaryType

이 열거형은 다양한 유형의 텍스트 경계를 설명합니다. IAccessible2 API를 따르며 QAccessibleTextInterface 에서 사용됩니다.

Constant설명
QAccessible::CharBoundary0개별 문자를 경계로 사용합니다.
QAccessible::WordBoundary1단어를 경계로 사용합니다.
QAccessible::SentenceBoundary2문장을 경계로 사용합니다.
QAccessible::ParagraphBoundary3단락을 경계로 사용합니다.
QAccessible::LineBoundary4줄 바꿈을 경계로 사용합니다.
QAccessible::NoBoundary5경계 없음(전체 텍스트 사용).

QAccessibleTextInterface참조하십시오 .

멤버 함수 문서

[static] QAccessibleInterface *QAccessible::accessibleInterface(QAccessible::Id id)

id 에 속하는 QAccessibleInterface 을 반환합니다.

ID가 유효하지 않은 경우 nullptr 를 반환합니다.

[static] void QAccessible::deleteAccessibleInterface(QAccessible::Id id)

id 에 속한 인터페이스를 캐시에서 제거하고 삭제합니다. ID가 유효하지 않게 되어 캐시에서 재사용될 수 있습니다.

[static] void QAccessible::installFactory(QAccessible::InterfaceFactory factory)

InterfaceFactory factory 을 설치합니다. 마지막으로 추가된 팩토리는 queryAccessibleInterface()에서 사용하는 첫 번째 팩토리입니다.

[static] bool QAccessible::isActive()

플랫폼에서 접근성 정보를 요청한 경우 true 을 반환합니다.

이 함수는 화면 리더와 같은 도구가 접근성 프레임워크에 액세스할 때까지 false를 반환합니다. 접근성이 활성화되지 않은 경우에도 QAccessible::queryAccessibleInterface()를 사용할 수 있습니다. 하지만 플랫폼에 알림이 전송되지 않습니다.

불필요한 경우 updateAccessibility()를 통해 알림을 보내지 않으려면 이 함수를 사용하는 것이 좋습니다.

[static] QAccessibleInterface *QAccessible::queryAccessibleInterface(QObject *object)

주어진 object 에 대해 QAccessibleInterface 구현이 존재하면 이 함수는 구현에 대한 포인터를 반환하고, 그렇지 않으면 nullptr 를 반환합니다.

이 함수는 object 클래스에 대한 인터페이스를 제공하는 함수를 찾을 때까지 설치된 모든 팩토리 함수(가장 최근에 설치된 것부터 가장 최근에 설치된 것까지)를 호출합니다. 클래스에 대한 접근성 구현을 제공하는 팩토리가 없는 경우 이 함수는 설치된 접근성 플러그인을 로드하고 플러그인 중 해당 구현을 제공할 수 있는 플러그인이 있는지 테스트합니다.

객체의 클래스에 대한 구현을 사용할 수 없는 경우 함수는 위의 전략을 사용하여 객체의 부모 클래스에 대한 구현을 찾으려고 시도합니다.

모든 인터페이스는 내부 캐시에 의해 관리되며 삭제해서는 안 됩니다.

[static] QAccessible::Id QAccessible::registerAccessibleInterface(QAccessibleInterface *iface)

이 함수를 호출하여 수동으로 생성한 인터페이스가 제대로 메모리 관리되는지 확인합니다.

인터페이스당 정확히 한 번만 호출해야 합니다 iface. 이 함수는 queryAccessibleInterface 을 호출할 때 암시적으로 호출되며, 이 함수를 호출하는 것은 "new" 연산자를 사용하여 QAccessibleInterfaces를 인스턴스화할 때만 필요합니다. 가능하면 기본 함수를 사용하고 queryAccessibleInterface()가 이 작업을 처리하도록 하는 것이 좋습니다.

QAccessibleInterface::child() 함수를 재구현하고 생성 후 자식을 반환해야 하는 경우 이 함수를 호출해야 합니다.

[static] void QAccessible::removeFactory(QAccessible::InterfaceFactory factory)

설치된 인터페이스팩토리 목록에서 factory 을 제거합니다.

[static] void QAccessible::setRootObject(QObject *object)

이 애플리케이션의 접근 가능한 객체의 루트 객체를 object 로 설정합니다. 다른 모든 접근 가능한 객체는 루트 객체에서 객체 탐색을 사용하여 도달할 수 있습니다.

일반적으로 이 함수는 이벤트 루프가 QApplication::exec()에 입력되기 직전에 QApplication 객체를 루트 객체로 설정하므로 이 함수를 호출할 필요가 없습니다.

함수 호출을 사용자 정의 핸들러 함수로 리디렉션하려면 QAccessible::installRootObjectHandler()를 사용하십시오.

queryAccessibleInterface()도 참조하세요 .

[static] QAccessible::Id QAccessible::uniqueId(QAccessibleInterface *iface)

QAccessibleInterface iface 에 대한 고유 ID를 반환합니다.

[static] void QAccessible::updateAccessibility(QAccessibleEvent *event)

접근성 클라이언트와 관련이 있을 수 있는 변경 사항을 알립니다.

event 변경 사항에 대한 세부 정보를 제공합니다. 여기에는 변경의 출처와 변경의 성격이 포함됩니다. event 에는 의미 있는 알림을 제공할 수 있는 충분한 정보가 포함되어야 합니다.

예를 들어 ValueChange 유형은 슬라이더의 위치가 변경되었음을 나타냅니다.

접근성 개체 또는 하위 요소 중 하나의 상태가 프로그래밍 방식으로(예: QLabel::setText() 호출) 또는 사용자 상호 작용으로 변경될 때마다 이 함수를 호출하세요.

이 이벤트를 수신하는 접근성 도구가 없는 경우 이 함수를 호출해도 성능 저하가 적지만, 호출 매개변수를 결정하는 데 비용이 많이 드는 경우 QAccessible::isActive()를 테스트하여 불필요한 계산을 피할 수 있습니다.

© 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.