QAccessible Class
QAccessible クラスは、アクセシビリティに関連する列挙型および静的関数を提供します。詳細...
| ヘッダー: | #include <QAccessible> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- QAccessibleは、アクセシビリティクラス群の一部です。
パブリック型
| struct | State |
(since 6.8) enum class | AnnouncementPoliteness { Polite, Assertive } |
(since 6.8) enum class | Attribute { Custom, Level, Locale, Orientation } |
| enum | Event { AcceleratorChanged, ActionChanged, ActiveDescendantChanged, Alert, Announcement, …, VisibleDataChanged } |
| Id | |
| InterfaceFactory | |
| enum | InterfaceType { TextInterface, ValueInterface, ActionInterface, TableInterface, TableCellInterface, …, ViewportInterface } |
| flags | Relation |
| enum | RelationFlag { Label, Labelled, Controller, Controlled, DescriptionFor, …, AllRelations } |
| enum | Role { AlertMessage, Animation, Application, Assistant, BlockQuote, …, 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としてカプセル化しています。このインターフェースの実装は、QtによってqueryAccessibleInterface() APIを通じて提供されます。
サーバーとクライアント間の通信は、setRootObject() 関数によって初期化されます。関数ポインタを設定することで、QAccessible 内の静的関数のデフォルトの動作を置き換えたり拡張したりすることができます。
Qtは、Microsoft Active Accessibility (MSAA)、macOS Accessibility、およびUnix/X11 AT-SPI標準をサポートしています。QAccessibleBridgeを使用することで、その他のバックエンドもサポート可能です。
Unix/X11 AT-SPIの実装では、次の2つの条件が満たされると、アプリケーションはアクセシビリティ対応となります:
- org.a11y.Status.IsEnabled DBus プロパティが true であること
- org.a11y.Status.ScreenReaderEnabled DBus プロパティが true である
DBus AT-SPI プロパティを設定する代わりに、QT_LINUX_ACCESSIBILITY_ALWAYS_ON 環境変数を設定することもできます。
QAccessibleの静的関数に加え、Qtはすべてのウィジェットやオブジェクト(例:QPushButton )をラップするために使用できる汎用インターフェースQAccessibleInterface を提供しています。この単一のインターフェースは、支援技術に必要なすべてのメタデータを提供します。Qtは、組み込みウィジェット向けのこのインターフェースの実装をプラグインとして提供しています。
カスタムウィジェットを開発する際は、QAccessibleInterface のカスタムサブクラスを作成し、それらをプラグインとして配布(QAccessiblePlugin を使用)するか、アプリケーションにコンパイルして組み込むことができます。 同様に、Qtの定義済みアクセシビリティサポートも、プラグインとして(デフォルト)、あるいはQtライブラリに直接組み込んでビルドすることができます。プラグインを使用する主な利点は、アクセシビリティクラスが実際に使用される場合にのみメモリに読み込まれるため、支援技術が使用されていない一般的なケースではパフォーマンスが低下しないことです。
また、Qtには、QAccessibleInterface を継承し、メタデータ(ウィジェットのジオメトリ、ウィンドウのタイトル、基本的なヘルプテキストなど)の最低限の共通要素を提供する2つの便利クラス、QAccessibleObject とQAccessibleWidget が含まれています。これらは、独自のQObject やQWidget のサブクラスをラップする際の基底クラスとして使用できます。
QAccessibleInterfaceも参照してください 。
メンバ型のドキュメント
[since 6.8] enum class QAccessible::AnnouncementPoliteness
この列挙型は、QAccessibleAnnouncementEvent で使用されるアナウンスの優先度を定義します。
QAccessible::AnouncementPoliteness::Polite を使用する場合、支援技術は、現在の文の読み上げが終わったときや、ユーザーがタイピングを一時停止したときなど、適切な次の機会を待ってメッセージをアナウンスする必要があります。礼儀正しいアナウンスであっても、進行中の礼儀正しいアナウンスを中断する場合があります。
QAccessible::AnouncementPoliteness::Assertive を指定する場合、支援技術はユーザーに直ちに通知する必要があります。
中断によってユーザーが混乱したり、現在のタスクを完了できなくなったりする可能性があるため、QAccessible::AnouncementPoliteness::Assertive は、中断が不可欠な場合を除いて使用すべきではありません。
| 定数 | 値 | 説明 |
|---|---|---|
QAccessible::AnnouncementPoliteness::Polite | 0 | アナウンスの優先度は「通常」です。 |
QAccessible::AnnouncementPoliteness::Assertive | 1 | アナウンスの優先度は高く、たとえユーザーの現在のタスクを中断することになっても、直ちにユーザーに通知する必要があります。 |
この列挙型は Qt 6.8 で導入されました。
QAccessibleAnnouncementEventも参照してください 。
[since 6.8] enum class QAccessible::Attribute
この列挙型は、QAccessibleAttributesInterface で使用されるさまざまな種類の属性を定義しています。
これらの属性は、ARIA、AT-SPI2、IAccessible、UIA、およびNSAccessibilityに見られるプロパティ/(オブジェクト)属性の概念に相当し、該当する場合は各プラットフォームの対応する属性にマッピングされます。
各属性はキーと値のペアとして扱われ、この列挙型の値がキーとして使用されます。
属性値は、QVariant で表現されます。QVariant に格納される値の型は固定されており、各属性タイプごとに以下で指定されています。
| 定数 | 値 | 説明 |
|---|---|---|
QAccessible::Attribute::Custom | 0 | 値の型:QHash<QString 、QString>Custom 属性は、それ自体がキーと値のペアを表すために使用されるQHash であるため、事実上複数の属性を一度に表現できるという点で特別です。属性のカスタムキーと値のペアをサポートするプラットフォームでは、Custom 属性で設定されたものは、プラットフォーム固有の属性への変換を適用することなく、プラットフォーム層へブリッジされます。 一般的には、より型付けが厳格な他の属性を使用すべきです。この属性は、例えば、特定の機能に対して公式な新しい列挙値を正式に追加する前のプロトタイピングに使用できます。 |
QAccessible::Attribute::Level | 1 | 値の型:int 構造内における要素の階層レベル(例:見出しの見出しレベル)を定義します。この属性は、概念的に ARIA の「aria-level」プロパティに対応します。 |
QAccessible::Attribute::Locale (since Qt 6.10) | 2 | 値の型:QLocale 要素のロケール。これを使用すると、要素のロケールがアプリケーションのデフォルトのロケールと異なることを指定できます。例えば、アプリケーションのユーザーインターフェースの言語とは異なる言語を使用する文書や、文書内の段落などに使用されます。 |
QAccessible::Attribute::Orientation (since Qt 6.11) | 3 | 値の型:Qt::Orientation 要素の向き。この属性は、概念的には ARIA の「aria-orientation」プロパティに対応します。 |
この列挙型は Qt 6.8 で導入されました。
QAccessibleAttributesInterfaceも参照してください 。
enum QAccessible::Event
この列挙型は、アクセス可能なイベントの種類を定義します。
| 定数 | 値 | 説明 |
|---|---|---|
QAccessible::AcceleratorChanged | 0x80C0 | アクションのキーボードショートカットが変更されました。 |
QAccessible::ActionChanged | 0x0101 | アクションが変更されました。 |
QAccessible::ActiveDescendantChanged | 0x0102 | |
QAccessible::Alert | 0x0002 | システムアラート(例:QMessageBox からのメッセージ) |
QAccessible::Announcement (since Qt 6.8) | 0x80D0 | メッセージの読み上げが要求されました。 |
QAccessible::AttributeChanged | 0x0103 | |
QAccessible::ContextHelpEnd | 0x000D | オブジェクトのコンテキストヘルプ(QWhatsThis )が終了しました。 |
QAccessible::ContextHelpStart | 0x000C | オブジェクトのコンテキストヘルプ(QWhatsThis )が開始されました。 |
QAccessible::DefaultActionChanged | 0x80B0 | アクセシブルオブジェクトのデフォルトの QAccessible::Action が変更されました。 |
QAccessible::DescriptionChanged | 0x800D | オブジェクトのQAccessible::Description が変更されました。 |
QAccessible::DialogEnd | 0x0011 | ダイアログ (QDialog) が非表示になりました。 |
QAccessible::DialogStart | 0x0010 | ダイアログ (QDialog) が表示されるようになりました。 |
QAccessible::DocumentContentChanged | 0x0104 | テキストドキュメントの内容が変更されました。 |
QAccessible::DocumentLoadComplete | 0x0105 | ドキュメントが読み込まれました。 |
QAccessible::DocumentLoadStopped | 0x0106 | ドキュメントの読み込みが停止されました。 |
QAccessible::DocumentReload | 0x0107 | ドキュメントの再読み込みが開始されました。 |
QAccessible::DragDropEnd | 0x000F | ドラッグ&ドロップ操作が終了しようとしています。 |
QAccessible::DragDropStart | 0x000E | ドラッグ&ドロップ操作が開始されようとしています。 |
QAccessible::Focus | 0x8005 | オブジェクトがキーボードのフォーカスを獲得しました。 |
QAccessible::ForegroundChanged | 0x0003 | ウィンドウがアクティブになりました(つまり、デスクトップ上で新しいウィンドウにフォーカスが移りました)。 |
QAccessible::HelpChanged | 0x80A0 | オブジェクトの「QAccessible::Help 」テキストプロパティが変更されました。 |
QAccessible::HyperlinkEndIndexChanged | 0x0108 | ハイパーテキストリンクの表示テキストの終了位置が変更されました。 |
QAccessible::HyperlinkNumberOfAnchorsChanged | 0x0109 | ハイパーテキストリンク内のアンカー数が変更されました。これは、表示テキストが分割され、複数のリンクが生成されたためである可能性があります。 |
QAccessible::HyperlinkSelectedLinkChanged | 0x010A | 選択されたハイパーテキストリンクのリンク先が変更されました。 |
QAccessible::HyperlinkStartIndexChanged | 0x010D | ハイパーテキストリンクの表示テキストの開始位置が変更されました。 |
QAccessible::HypertextChanged | 0x010E | ハイパーテキストリンクの表示テキストが変更されました。 |
QAccessible::HypertextLinkActivated | 0x010B | ハイパーテキストリンクが、クリックまたはキー入力によってアクティブになりました。 |
QAccessible::HypertextLinkSelected | 0x010C | ハイパーテキストリンクが選択されました。 |
QAccessible::HypertextNLinksChanged | 0x010F | |
QAccessible::IdentifierChanged (since Qt 6.8) | 0x80E0 | オブジェクトの識別子が変更されました。 |
QAccessible::LocationChanged | 0x800B | 画面上のオブジェクトの位置が変更されました。 |
QAccessible::MenuCommand | 0x0018 | メニュー項目がトリガーされました。 |
QAccessible::MenuEnd | 0x0005 | メニューが閉じられました(Qt では、すべてのメニューで PopupMenuEnd を使用します)。 |
QAccessible::MenuStart | 0x0004 | メニューバーでメニューが開かれました(Qt では、すべてのメニューに対して PopupMenuStart を使用します)。 |
QAccessible::NameChanged | 0x800C | オブジェクトのQAccessible::Name プロパティが変更されました。 |
QAccessible::ObjectAttributeChanged | 0x0110 | |
QAccessible::ObjectCreated | 0x8000 | 新しいオブジェクトが作成されました。 |
QAccessible::ObjectDestroyed | 0x8001 | オブジェクトが削除されました。 |
QAccessible::ObjectHide | 0x8003 | オブジェクトが非表示になりました。たとえば、QWidget::hide() によって非表示になった場合などです。非表示になったオブジェクトの子オブジェクトは、このイベントを送信しません。また、他のオブジェクトによって隠れてしまったためにオブジェクトが非表示になった場合にも、このイベントは送信されません。 |
QAccessible::ObjectReorder | 0x8004 | レイアウトまたはアイテムビューによって、オブジェクトが追加、削除、または移動されました(Qt はこのイベントを使用しません)。 |
QAccessible::ObjectShow | 0x8002 | オブジェクトが表示されました。たとえば、QWidget::show() によって表示された場合などです。 |
QAccessible::PageChanged | 0x0111 | |
QAccessible::ParentChanged | 0x800F | オブジェクトの親オブジェクトが変更されました。 |
QAccessible::PopupMenuEnd | 0x0007 | ポップアップメニューが閉じられました。 |
QAccessible::PopupMenuStart | 0x0006 | ポップアップメニューが開きました。 |
QAccessible::RoleChanged (since Qt 6.11) | 0x80E1 | オブジェクトの役割が変更されました。 |
QAccessible::ScrollingEnd | 0x0013 | スクロールバーのスクロール操作が終了しました(マウスがスライダーハンドルから離れました)。 |
QAccessible::ScrollingStart | 0x0012 | スクロールバーのスクロール操作が開始されようとしています。これは、たとえば、スライダーハンドルがマウスで押されたことなどが原因である可能性があります。 |
QAccessible::ScrollingPositionChanged (since Qt 6.12) | 0x0014 | スクロール操作中に位置が変更されました。 |
QAccessible::SectionChanged | 0x0112 | |
QAccessible::SelectionAdd | 0x8007 | アイテムビューの選択範囲にアイテムが追加されました。 |
QAccessible::SelectionRemove | 0x8008 | アイテムビューの選択範囲からアイテムが削除されました。 |
QAccessible::Selection | 0x8006 | メニューまたはアイテムビューで選択内容が変更されました。 |
QAccessible::SelectionWithin | 0x8009 | アイテムビューで、選択内容にいくつかの変更が生じました。 |
QAccessible::SoundPlayed | 0x0001 | オブジェクトによって音が再生されました。 |
QAccessible::TableCaptionChanged | 0x0113 | テーブルのキャプションが変更されました。 |
QAccessible::TableColumnDescriptionChanged | 0x0114 | 通常、列ヘッダーにあるテーブルの列の説明が変更されました。 |
QAccessible::TableColumnHeaderChanged | 0x0115 | 表の列ヘッダーが変更されました。 |
QAccessible::TableRowDescriptionChanged | 0x0117 | 通常、行のヘッダーにあるテーブル行の説明が変更されました。 |
QAccessible::TableRowHeaderChanged | 0x0118 | テーブルの行ヘッダーが変更されました。 |
QAccessible::TableSummaryChanged | 0x0119 | 表の要約が変更されました。 |
QAccessible::TextColumnChanged | 0x011D | テキスト列が変更されました。 |
QAccessible::VisibleDataChanged | 0x0122 |
この列挙型の値は、IAccessible2およびMSAA仕様で定義されているものと同じであるように定義されています。
QAccessible::Id
「unsigned」の同義語。QAccessibleInterface キャッシュで使用される。
QAccessible::InterfaceFactory
これは、以下のシグネチャを持つ関数へのポインタに対するtypedefです。
typedef QAccessibleInterface *myFactoryFunction(const QString &key, QObject *);この関数は、QString およびQObject ポインタを受け取ります。ここで、QString はインターフェースを識別するキーです。QObject は、QAccessibleInterface への参照を保持できるようにするために、 に渡されるために使用されます。
キーとQObject に対応するQAccessibleInterface が存在しない場合、nullptr が返されます。
インストール済みのファクトリは、いずれかがインターフェースを提供するまで、queryAccessibilityInterface() によって呼び出されます。
enum QAccessible::InterfaceType
QAccessibleInterface いくつかのサブインターフェースをサポートしています。一部のオブジェクトに関する詳細情報を提供するためには、そのオブジェクトのアクセス可能な表現が、これらのインターフェースのうち1つ以上を実装している必要があります。
注: これらのインターフェースのいずれかをサブクラス化する場合は 、QAccessibleInterface::interface_cast() を実装する必要があります。
| 定数 | 値 | 説明 |
|---|---|---|
QAccessible::TextInterface | 0 | 選択をサポートするテキスト、または複数行にわたるテキスト用。単純なラベルでは、このインターフェースを実装する必要はありません。 |
QAccessible::ValueInterface | 2 | 値の操作に使用されるオブジェクト(スライダーやスクロールバーなど)用です。 |
QAccessible::ActionInterface | 3 | ユーザーがアクションをトリガーできるインタラクティブなオブジェクト用。基本的には、マウス操作などが可能なすべてのオブジェクト。 |
QAccessible::TableInterface | 5 | リスト、テーブル、ツリー用。 |
QAccessible::TableCellInterface | 6 | TableInterface オブジェクト内のセル用。 |
QAccessible::HyperlinkInterface | 7 | ハイパーリンクノード(通常、テキストノードの子として埋め込まれている)の場合。 |
QAccessible::SelectionInterface (since Qt 6.5) | 8 | 子オブジェクトの選択をサポートする非テキストオブジェクト。 |
QAccessible::AttributesInterface (since Qt 6.8) | 9 | オブジェクト固有の属性をサポートするオブジェクト。 |
QAccessible::ViewportInterface (since Qt 6.12) | 10 | 2次元またはインデックス付きスクロールを許可するオブジェクト。 |
QAccessibleInterface::interface_cast()、QAccessibleTextInterface 、QAccessibleValueInterface 、QAccessibleActionInterface 、QAccessibleTableInterface 、QAccessibleTableCellInterface 、QAccessibleSelectionInterface 、QAccessibleAttributesInterface 、およびQAccessibleViewportInterfaceも参照してください 。
enum QAccessible::RelationFlag
flags QAccessible::Relation
この列挙型は、2つのアクセス可能なオブジェクト間の関係を指定するために組み合わせることができるビットフラグを定義します。これは relations() 関数で使用され、この関数は、呼び出し元オブジェクトに関連するすべてのインターフェースのリストと、各オブジェクト間の関係を返します。
リストの各エントリは std::pair であり、second メンバーには、first メンバーによって表されるreturned オブジェクトと、origin (呼び出し元)のインターフェース/オブジェクトとの間の関係タイプが格納されます。
以下の表において、returned オブジェクトは返されたリスト内のオブジェクトを指し、origin オブジェクトは呼び出し元インターフェースによって表されるオブジェクトです。
| 定数 | 値 | 説明 |
|---|---|---|
QAccessible::Label | 0x00000001 | returned オブジェクトは、origin オブジェクトのラベルです。 |
QAccessible::Labelled | 0x00000002 | returned オブジェクトには、origin オブジェクトによるラベルが付けられています。 |
QAccessible::Controller | 0x00000004 | returned オブジェクトは、origin オブジェクトを制御します。 |
QAccessible::Controlled | 0x00000008 | returned オブジェクトは、origin オブジェクトによって制御されます。 |
QAccessible::DescriptionFor (since Qt 6.6) | 0x00000010 | returned オブジェクトは、origin オブジェクトの説明を提供します。 |
QAccessible::Described (since Qt 6.6) | 0x00000020 | returned オブジェクトは、origin オブジェクトによって記述されます。コンテンツは、論理的に オブジェクトから オブジェクトへと流れます。 |
QAccessible::FlowsFrom (since Qt 6.6) | 0x00000040 | コンテンツは、論理的にはreturned オブジェクトからorigin オブジェクトへと流れる。 |
QAccessible::FlowsTo (since Qt 6.6) | 0x00000080 | コンテンツは、論理的にはorigin オブジェクトからreturned オブジェクトへと流れます。 |
QAccessible::AllRelations | 0xffffffff | すべての関係に関する情報に関心があることを指定するためのマスクとして使用されます。 |
relations() の実装は、これらのフラグの組み合わせを返します。一部の値は相互に排他的です。
Relation 型はQFlags<RelationFlag> の typedef です。これは、RelationFlag 値の OR 組み合わせを格納します。
enum QAccessible::Role
この列挙型は、アクセシブルなオブジェクトの役割を定義します。役割は以下の通りです:
| 定数 | 値 | 説明 |
|---|---|---|
QAccessible::AlertMessage | 0x00000008 | ユーザーに警告を表示するために使用されるオブジェクト。 |
QAccessible::Animation | 0x00000036 | アニメーションを表示するオブジェクト。 |
QAccessible::Application | 0x0000000E | アプリケーションを表すオブジェクト |
QAccessible::Assistant | 0x00000020 | 対話型のヘルプを提供するオブジェクト。 |
QAccessible::BlockQuote (since Qt 6.9) | 0x431 | 別のソースから引用されたコンテンツのセクション。 |
QAccessible::Border | 0x00000013 | 枠線を表すオブジェクト。 |
QAccessible::ButtonDropDown | 0x00000038 | 項目のリストを展開するボタン。 |
QAccessible::ButtonDropGrid | 0x0000003A | グリッドを展開するボタン。 |
QAccessible::ButtonMenu | 0x00000039 | メニューを展開するボタン。 |
QAccessible::Canvas | 0x00000035 | ユーザーが操作できるグラフィックを表示するオブジェクト。 |
QAccessible::Caret | 0x00000007 | システムのキャレット(テキストカーソル)を表すオブジェクト。 |
QAccessible::Cell | 0x0000001D | テーブル内のセル。 |
QAccessible::Chart | 0x00000011 | データのグラフィカルな表現を表示するオブジェクト。 |
QAccessible::CheckBox | 0x0000002C | チェックを入れたり外したりできるオプションを表すオブジェクト。オプションによっては、「混合」状態(つまり、チェックも外れてもいない状態)を持つものもあります。 |
QAccessible::Client | 0x0000000A | ウィンドウ内のクライアント領域。 |
QAccessible::Clock | 0x0000003D | 時刻を表示する時計。 |
QAccessible::ColorChooser | 0x404 | ユーザーが色を選択できるダイアログ。 |
QAccessible::Column | 0x0000001B | 通常、表内にあるセルの列。 |
QAccessible::ColumnHeader | 0x00000019 | データの列のヘッダー。 |
QAccessible::ComboBox | 0x0000002E | ユーザーが選択できる選択肢のリスト。 |
QAccessible::ComplementaryContent | 0x42C | メインコンテンツを補完する、文書やウェブページの一部。通常はランドマーク(WAI-ARIAを参照)。 |
QAccessible::Cursor | 0x00000006 | マウスカーソルを表すオブジェクト。 |
QAccessible::Desktop | 0x00000082 | デスクトップまたはワークスペースを表すオブジェクト。 |
QAccessible::Dial | 0x00000031 | ダイヤルやノブを表すオブジェクト。 |
QAccessible::Dialog | 0x00000012 | ダイアログボックス。 |
QAccessible::Document | 0x0000000F | ドキュメント。たとえば、オフィスアプリケーション内のものなど。 |
QAccessible::EditableText | 0x0000002A | 行やテキスト編集など、編集可能なテキスト。 |
QAccessible::Equation | 0x00000037 | 数式を表すオブジェクト。 |
QAccessible::Footer | 0x40E | ページ(通常は文書)のフッター。 |
QAccessible::Form | 0x410 | コントロールを含む Web フォーム。 |
QAccessible::Graphic | 0x00000028 | グラフィックや画像(例:アイコン)。 |
QAccessible::Grip | 0x00000004 | ユーザーがドラッグしてウィジェットのサイズを変更できるグリップ。 |
QAccessible::Grouping | 0x00000014 | 他のオブジェクトの論理的なグループ化を表すオブジェクト。 |
QAccessible::Heading | 0x414 | 文書内の見出し。 |
QAccessible::HelpBalloon | 0x0000001F | ヘルプを、独立した一時的なウィンドウに表示するオブジェクト。 |
QAccessible::HotkeyField | 0x00000032 | ユーザーがキーの組み合わせを入力できるホットキーフィールド。 |
QAccessible::Indicator | 0x00000027 | 現在の値や項目を表すインジケータ。 |
QAccessible::LayeredPane | 0x00000080 | スタック内など、階層化された子オブジェクトを含むことができるオブジェクト。 |
QAccessible::Link | 0x0000001E | 他の何かへのリンク。 |
QAccessible::List | 0x00000021 | ユーザーが1つまたは複数の項目を選択できる項目のリスト。 |
QAccessible::ListItem | 0x00000022 | 項目のリストに含まれる項目。 |
QAccessible::MenuBar | 0x00000002 | ユーザーがメニューを開くためのメニューバー。 |
QAccessible::MenuItem | 0x0000000C | メニューまたはメニューバー内の項目。 |
QAccessible::NoRole | 0x00000000 | このオブジェクトには役割がありません。これは通常、無効なオブジェクトであることを示します。 |
QAccessible::Note | 0x41B | リソースの主要な内容に対して補足的または付随的な内容を含むセクション。 |
QAccessible::Notification | 0x00000086 | 通知(例:システムトレイ内)を表すオブジェクト。この役割は Linux でのみ有効です。 |
QAccessible::PageTab | 0x00000025 | ユーザーがダイアログ内の別のページに切り替えるために選択できるページタブ。 |
QAccessible::PageTabList | 0x0000003C | ページタブのリスト。 |
QAccessible::Paragraph | 0x00000083 | テキストの段落(通常、文書に見られる)。 |
QAccessible::Pane | 0x00000010 | 汎用コンテナ。 |
QAccessible::PopupMenu | 0x0000000B | ユーザーがアクションを実行するために選択できるオプションを一覧表示するメニュー。 |
QAccessible::ProgressBar | 0x00000030 | 進行中の操作の進捗状況を表示するオブジェクト。 |
QAccessible::PropertyPage | 0x00000026 | ユーザーがオプションや設定を変更できるプロパティページ。 |
QAccessible::Button | 0x0000002B | ボタン。 |
QAccessible::RadioButton | 0x0000002D | 他のオプションと相互に排他的なオプションを表すオブジェクト。 |
QAccessible::Row | 0x0000001C | 通常、表内にあるセルの行。 |
QAccessible::RowHeader | 0x0000001A | データの行のヘッダー。 |
QAccessible::ScrollBar | 0x00000003 | ユーザーが可視領域をスクロールできるようにするスクロールバー。 |
QAccessible::Section | 0x00000085 | (文書内の)セクション。 |
QAccessible::Separator | 0x00000015 | スペースを論理的な領域に分割する区切り線。 |
QAccessible::Slider | 0x00000033 | ユーザーが指定された範囲内で値を選択できるスライダー。 |
QAccessible::Sound | 0x00000005 | 音を表すオブジェクト。 |
QAccessible::SpinBox | 0x00000034 | ユーザーが指定された範囲内で値を入力できるスピンボックスウィジェット。 |
QAccessible::Splitter | 0x0000003E | 利用可能なスペースを子ウィジェット間で分配するスプリッター。 |
QAccessible::StaticText | 0x00000029 | 他のウィジェットのラベルなど、静的なテキスト。 |
QAccessible::StatusBar | 0x00000017 | ステータスバー。 |
QAccessible::Switch (since Qt 6.11) | 0x00000087 | オンまたはオフに切り替え可能なスイッチ。 |
QAccessible::Table | 0x00000018 | 行と列のグリッドでデータを表すテーブル。 |
QAccessible::Terminal | 0x00000081 | ターミナルまたはコマンドラインインターフェース。 |
QAccessible::TitleBar | 0x00000001 | ウィンドウのタイトルバーのキャプション。 |
QAccessible::ToolBar | 0x00000016 | ユーザーが頻繁にアクセスするウィジェットをまとめたツールバー。 |
QAccessible::ToolTip | 0x0000000D | 他のオブジェクトに関する情報を提供するツールチップ。 |
QAccessible::Tree | 0x00000023 | ツリー構造内の項目のリスト。 |
QAccessible::TreeItem | 0x00000024 | ツリー構造内の項目。 |
QAccessible::UserRole | 0x0000ffff | ユーザー定義のロールに使用する最初の値。 |
QAccessible::WebDocument | 0x00000084 | 通常、ブラウザで表示されるHTMLドキュメント。 |
QAccessible::Whitespace | 0x0000003B | 他のオブジェクト間の空白部分。 |
QAccessible::Window | 0x00000009 | 最上位のウィンドウ。 |
enum QAccessible::Text
この列挙型は、アクセシブルなオブジェクトが返す文字列情報を指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QAccessible::Name | 0 | オブジェクトの名前。これは、アクセシブルなクライアントによって、識別子としても、短い説明としても使用できます。 |
QAccessible::Description | 1 | オブジェクトを説明する短いテキスト。 |
QAccessible::Value | 2 | オブジェクトの値。 |
QAccessible::Help | 3 | オブジェクトの使用方法に関する情報を提供する、より長いテキスト。 |
QAccessible::Accelerator | 4 | オブジェクトのデフォルトのアクションを実行するキーボードショートカット。 |
QAccessible::UserText | 0x0000ffff | ユーザー定義テキストに使用する最初の値。 |
QAccessible::Identifier (since Qt 6.8) | 6 | UIテストなどのために、オブジェクトを識別するための識別子。 |
enum QAccessible::TextBoundaryType
この列挙型は、さまざまな種類のテキスト境界を表します。IAccessible2 API に準拠しており、QAccessibleTextInterface で使用されます。
| 定数 | 値 | 説明 |
|---|---|---|
QAccessible::CharBoundary | 0 | 個々の文字を境界として使用します。 |
QAccessible::WordBoundary | 1 | 単語を境界として使用します。 |
QAccessible::SentenceBoundary | 2 | 文を区切りとして使用します。 |
QAccessible::ParagraphBoundary | 3 | 段落を区切りとして使用します。 |
QAccessible::LineBoundary | 4 | 改行を区切りとして使用します。 |
QAccessible::NoBoundary | 5 | 境界なし(テキスト全体を使用)。 |
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 に対して、インターフェースごとに厳密に1回のみ呼び出す必要があります。これはqueryAccessibleInterface を呼び出す際に暗黙的に呼び出されます。この関数を呼び出す必要があるのは、QAccessibleInterfaces が "new" 演算子でインスタンス化される場合のみです。この方法は推奨されません。可能な限りデフォルトの関数を使用し、queryAccessibleInterface() に処理を任せるようにしてください。
QAccessibleInterface::child() 関数を再実装し、子オブジェクトを構築後にそれを返す必要がある場合は、この関数を呼び出す必要があります。
[static] void QAccessible::removeFactory(QAccessible::InterfaceFactory factory)
インストール済みのInterfaceFactoryの一覧からfactory を削除します。
[static] void QAccessible::setRootObject(QObject *object)
このアプリケーションのアクセス可能なオブジェクトのルートオブジェクトを `object` に設定します。その他のすべてのアクセス可能なオブジェクトは、ルートオブジェクトからのオブジェクトナビゲーションを使用してアクセスできます。
通常、この関数を呼び出す必要はありません。Qt XML は、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() をテストして、不要な計算を回避することができます。
© 2026 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.