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はMicrosoft Active Accessibility (MSAA)、macOS Accessibility、Unix/X11 AT-SPI標準をサポートしています。その他のバックエンドはQAccessibleBridgeを使用してサポートできます。

Unix/X11 AT-SPIの実装では、2つの条件が満たされたときにアプリケーションがアクセシブルになります:

  • org.a11y.Status.IsEnabledDBusプロパティがtrueである。
  • org.a11y.Status.ScreenReaderEnabledDBusプロパティがtrueである。

DBus AT-SPIプロパティを設定する代わりに、QT_LINUX_ACCESSIBILITY_ALWAYS_ON環境変数を設定することもできます。

QAccessibleの静的関数に加えて、Qtは、すべてのウィジェットやオブジェクトをラップするために使用できる1つの汎用インタフェース、QAccessibleInterface を提供します(例えば、QPushButton )。この単一のインターフェイスは、支援技術に必要なすべてのメタデータを提供します。Qt は、このインターフェースの実装をプラグインとして内蔵ウィジェットに提供しています。

カスタムウィジェットを開発する場合、QAccessibleInterface のカスタムサブクラスを作成し、プラグインとして配布するか(QAccessiblePlugin を使用)、アプリケーションにコンパイルします。同様に、Qtの定義済みアクセシビリティサポートは、プラグイン(デフォルト)として、またはQtライブラリに直接組み込むことができます。プラグインを使用する主な利点は、アクセシビリティクラスが実際に使用される場合にのみメモリにロードされることです。

Qt には、QAccessibleInterface を継承し、最小公倍数のメタデータ(ウィジェットのジオメトリ、ウィンドウのタイトル、基本的なヘルプテキストなど)を提供する 2 つの便利なクラス、QAccessibleObjectQAccessibleWidget もあります。カスタムのQObjectQWidget サブクラスをラップするときに、基本クラスとして使用することができます。

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

この列挙型は、アクセス可能なイベントタイプを定義します。

定数説明
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 text プロパティが変更された。
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

この列挙型の値は、IAccessible2仕様およびMSAA仕様で定義されているものと同じである。

QAccessible::Id

QAccessibleInterface キャッシュで使用される unsigned の同義語。

QAccessible::InterfaceFactory

これは、以下のシグネチャを持つ関数へのポインタの型定義である:

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

この関数はQStringQObject ポインタを受け取る。QString はインターフェイスを識別するキーである。QObject は、QAccessibleInterface への参照を保持するために渡されます。

キーとQObject に対応するQAccessibleInterface がない場合、nullptr が返されます。

インストールされたファクトリーは、1つがインターフェースを提供するまで、queryAccessibilityInterface()によって呼び出されます。

enum QAccessible::InterfaceType

QAccessibleInterface はいくつかのサブインターフェイスをサポートしています。いくつかのオブジェクトについてより多くの情報を提供するために、それらのアクセシブルな表現は、これらのインターフェースの1つ以上を実装する必要があります。

注意: これらのインターフェースの1つをサブクラス化する場合、QAccessibleInterface::interface_cast() を実装する必要があります。

定数説明
QAccessible::TextInterface0選択をサポートするか、1行以上のテキスト。単純なラベルはこのインタフェースを実装する必要はありません。
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も参照してください

enum QAccessible::RelationFlag
flags QAccessible::Relation

この列挙型は、2つのアクセス可能なオブジェクト間の関係を示すために組み合わせることができるビットフラグを定義します。relations()関数は、呼び出したオブジェクトのすべての関連インタフェースのリストと、各オブジェクトのリレーションを返します。

リストの各エントリーはQPair で、second メンバには、first メンバで表されるreturned オブジェクトと、origin (呼び出し元)インタフェース/オブジェクトの間の関係タイプが格納されます。

以下の表では、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セル(cell) 通常はテーブル内のセルの列。
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コントロールを含むWebフォーム。
QAccessible::Graphic0x00000028アイコンなどのグラフィックや画像。
QAccessible::Grip0x00000004ユーザーがドラッグしてウィジェットのサイズを変更できるグリップ。
QAccessible::Grouping0x00000014他のオブジェクトの論理的なグループ化を表すオブジェクト。
QAccessible::Heading0x414ドキュメント内の見出し。
QAccessible::HelpBalloon0x0000001Fヘルプを別の短いウィンドウに表示するオブジェクト。
QAccessible::HotkeyField0x00000032キーシーケンスを入力するためのホットキーフィールド。
QAccessible::Indicator0x00000027現在の値や項目を表すインジケータ。
QAccessible::LayeredPane0x00000080スタックなど、階層化された子オブジェクトを含むことができるオブジェクト。
QAccessible::Link0x0000001E他の何かへのリンク。
QAccessible::List0x00000021アイテムのリストで、ユーザーが1つ以上のアイテムを選択できる。
QAccessible::ListItem0x00000022アイテムのリスト内のアイテム。
QAccessible::MenuBar0x00000002メニューバー(menu bar) ユーザーがメニューを開く場所。
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スクロールバー(scroll bar) 可視領域をスクロールするためのバー。
QAccessible::Section0x00000085セクション (文書内の).
QAccessible::Separator0x00000015空間を論理的な領域に分割するセパレータ。
QAccessible::Slider0x00000033スライダー(slider): 指定された範囲内の値を選択するためのスライダー。
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::WebDocument0x00000084HTMLドキュメント。
QAccessible::Whitespace0x0000003B他のオブジェクト間の空白。
QAccessible::Window0x00000009トップレベルウィンドウ。

enum QAccessible::Text

この列挙型は、アクセス可能なオブジェクトが返す文字列情報を指定します。

定数説明
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 で使用されています。

定数説明
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)

手動で作成したインターフェースが適切にメモリ管理されるように、この関数を呼び出します。

1つのインターフェースにつき、正確に1回だけ呼び出されなければなりませんiface 。この関数は、queryAccessibleInterface を呼び出すときに暗黙的に呼び出されます。この関数を呼び出す必要があるのは、QAccessibleInterface を "new" 演算子でインスタンス化するときだけです。可能な限りデフォルト関数を使用し、queryAccessibleInterface() にこの処理を任せるようにしてください。

QAccessibleInterface::child() 関数を再実装し、構築後に子を返す必要がある場合は、この関数を呼び出す必要があります。

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

インストールされている InterfaceFactories のリストからfactory を削除します。

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

このアプリケーションのアクセス可能なオブジェクトのルート・オブジェクトをobject に設定します。他のすべてのアクセス可能なオブジェクトは、ルートオブジェクトからオブジェクトナビゲーションを使用して到達可能です。

Qt は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() をテストすることができます。

本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。