QAccessibleInterface Class

QAccessibleInterface クラスは、アクセシブルなオブジェクトに関する情報を公開するインターフェイスを定義します。詳細...

ヘッダー #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クライアントは、アプリケーション内のアクセシブル・オブジェクトに関する情報を取得するために、3つの基本概念を使用する:

  • プロパティクライアントは、アクセシブル・オブジェクトに関する情報を読み取ることができます。場合によっては、クライアントはこれらのプロパティを変更することもできます(行編集のテキストなど)。
  • アクションクライアントは、ボタンを押すなどのアクションを呼び出すことができます。
  • リレーションシップとナビゲーションクライアントは、オブジェクト間のリレーションシップを使用して、あるアクセシブル・オブジェクトから別のアクセシブル・オブジェクトへ移動することができます。

QAccessibleInterfaceは、これら3つの概念のAPIを定義しています。

リレーションシップとナビゲーション

関数childCount() およびindexOfChild() は、アクセス可能なオブジェクトの子の数と、子オブジェクトが親オブジェクトに持つインデックスを返します。childAt() 関数は、ある位置で見つかった子 QAccessibleInterface を返します。その子は、直接の子である必要はありません。これにより、親がすでに最上位の子を知っている場合、中間層をバイパスすることができます。childAt() は、ヒット・テスト(マウスの下にあるオブジェクトを見つけること)に使用されます。

relations() 関数は、オブジェクトが他のオブジェクトとどのような関係にあるかについての情報を提供します。また、parent() とchild() は、あるオブジェクトから別のオブジェクトへのトラバースを可能にします。

プロパティ

アクセス可能なオブジェクトの中心的なプロパティは、それがどのようなrole () を持っているかということです。例えば、スクロールバーの "Add line "要素とダイアログのOK ボタンは、同じ役割 "button "を持ちます。ロールは、ユーザーがユーザーインターフェイス要素に対してどのようなインタラクションを行うことができるかを意味します。

オブジェクトのstate ()プロパティは、さまざまな状態フラグの組み合わせであり、オブジェクトの状態が「通常」の状態とどのように異なるか(例えば、利用できない場合など)、またどのように動作するか(例えば、選択可能な場合など)の両方を記述することができます。

text() プロパティは、オブジェクトに関するテキスト情報を提供します。オブジェクトは通常名前を持ちますが、説明やヘルプ・テキスト、提供するキーボード・アクセラレータに関する情報などの拡張情報を提供することもできます。オブジェクトによっては、setText() 関数を使用してtext() プロパティを変更できますが、ほとんどの場合、この情報は読み取り専用です。

rect() プロパティは、アクセス可能なオブジェクトのジオメトリに関する情報を提供します。この情報は通常、ビジュアル・オブジェクトでのみ利用可能です。

インターフェイス

ユーザーがアクセシブル・オブジェクトと対話できるようにするには、オブジェクトは QAccessibleInterface に加えてQAccessibleActionInterface を実装する必要があります。選択をサポートするオブジェクトは、選択を変更するアクションを定義することができます。

QAccessibleTextInterface は、ドキュメント・ビューのような大きなテキストの編集に使用する必要があります。このインターフェースは、ラベルや1行の編集には実装すべきではありません。

スライダーやスクロールバー、その他の数値セレクタには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 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

このインターフェイス実装を使用するために必要なすべてのデータが有効な場合(たとえば、すべてのポインタが非NULL)、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

他のウィジェットとの意味のある関係を返します。通常、ツリービューなどの特殊な方法で処理されない限り、親子関係は返されません。通常、labelled-by と label の関係を返します。

オプションのパラメータ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

オブジェクトの text プロパティt の値を返す。

QAccessible::Name は、ユーザーがアクセス可能なオブジェクトを識別、検索、告知するためにクライアントが使用する文字列です。すべてのオブジェクトは、そのコンテナ内で一意な名前を持つ必要があります。名前はクライアントによって使い分けられるので、オブジェクトの簡単な説明を与え、かつ一意でなければなりません。

アクセシブル・オブジェクトのQAccessible::Description は、オブジェクトの外観に関するテキスト情報を提供します。説明文は主に視覚に障害のあるユーザーに大きな文脈を提供するために使用されますが、文脈検索や他のアプリケーションにも使用されます。すべてのオブジェクトに説明があるわけではありません。OK」ボタンには説明は必要ありませんが、スマイルの絵を表示するツールボタンには説明が必要です。

アクセシブルオブジェクトの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クライアントに状態の変化を通知できるようにするために、いくつかのプラットフォームで使用されます。バックエンドはウィンドウを見つけるまで、すべての祖先をたどる。(これは、先祖のうち少なくとも1つのインターフェイスが有効な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.