QAccessibleInterface Class
QAccessibleInterface クラスは、アクセシブルなオブジェクトに関する情報を公開するインターフェイスを定義します。詳細...
Header: | #include <QAccessibleInterface> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Inherited By: |
- 継承メンバを含む全メンバ一覧
- QAccessibleInterface はアクセシビリティ・クラスの一部です。
パブリック関数
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 |
保護された関数
virtual | ~QAccessibleInterface() |
詳細説明
このクラスは、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 の 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
このインターフェースの実装を使用するために必要なすべてのデータが有効な場合(たとえば、すべてのポインタが非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 を使用して、関係をフィルタリングすることができます。この関数は決してそれ自身を返してはならない。
[pure virtual]
QAccessible::Role QAccessibleInterface::role() const
オブジェクトの役割を返します。オブジェクトのロールは通常静的です。
アクセス可能なオブジェクトはすべてロールを持ちます。
[since 6.5]
QAccessibleSelectionInterface *QAccessibleInterface::selectionInterface()
この関数はQt 6.5で導入されました。
[pure virtual]
void QAccessibleInterface::setText(QAccessible::Text t, const QString &text)
オブジェクトのテキスト・プロパティt をtext に設定します。
ほとんどのオブジェクトのテキスト・プロパティは読み取り専用なので、この関数を呼び出しても効果がないかもしれないことに注意してください。
text()も参照してください 。
[pure virtual]
QAccessible::State QAccessibleInterface::state() const
オブジェクトの現在の状態を返します。返される値は、QAccessible::StateFlag 列挙のフラグの組み合わせです。
すべてのアクセス可能なオブジェクトは状態を持っています。
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 の文字列を提供する。
QAccessibleTextInterface *QAccessibleInterface::textInterface()
QAccessibleValueInterface *QAccessibleInterface::valueInterface()
[virtual]
QWindow *QAccessibleInterface::window() const
基礎となるオブジェクトに関連付けられたウィンドウを返す。例えば、QAccessibleWidget はこれを再インプリメントし、QWidget の windowHandle() を返す。
これは、ATクライアントに状態の変化を通知できるようにするために、いくつかのプラットフォームで使用されます。バックエンドはウィンドウを見つけるまで、すべての祖先をたどる。(これは、先祖のうち少なくとも1つのインターフェイスが有効なQWindow ポインタを返す必要があることを意味する)。
デフォルトの実装はnullptr
を返します。
ここに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。