Qt Quickアプリケーションのアクセシビリティ

はじめに

このページでは、Qt Quickアプリケーションにアクセシビリティ・メタデータを追加する方法を説明します。Qt Quick アプリケーションとその QML タイプの多くには、すでにアクセシビリティ機能が組み込まれています。例えば、ボタン・コントロールにはキーボード・アクセシビリティがあり、コントロール間をタブで移動したり、ReturnキーやEnterキーを使ってコントロールをアクティブにしたりすることができます。そのため、既存のコントロールを使用することで、Qt Quickアプリケーションをアクセシブルにするための良いスタートを切ることができます。しかし、場合によっては、QMLアイテムの仕事を明確にする必要があるかもしれません。

Webアプリケーションをアクセシブルにするのと同様に、UI要素、この場合はQMLアイテムにプロパティを割り当てます。これらのプロパティはアクセシビリティツールにメタデータを公開し、慎重に選択されたハイコントラストのカラーテーマやその他の視覚的な手がかりとともに、ユーザーがQt Quickアプリケーションと対話する際の手助けとなります。

一般的に、アクセシビリティ・ツールは3つの異なるカテゴリのメタデータに興味を持ちます:

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

Qt Quickアプリケーションにとって、最も重要な型はAccessible QML型で、QMLアイテムにアクセシビリティメタデータを追加します。

QMLアイテムへのアクセシビリティメタデータの追加

QMLアイテムにアクセシビリティ・メタデータを追加するには、Qtが提供する既存の型や、C++で定義されたカスタム型に、Accessible QML型を使います。Accessible QML型の最も重要なプロパティは、namedescriptionrole です。

以下は、Text 型にアクセシビリティのメタデータを追加する例です。この場合、 型は数式を表しています:

Text {
    id: myMathEquation
    text: "y = 8x - 9"
    font.family: "Helvetica"

    Accessibility.role: Accessible.Equation
    Accessibility.name: myMathEquation.text
    Accessibility.description: qsTr("Linear equation")
    Accessible.onPressAction: {
        // Highlight the x variable
        ...
    }
}

Text 型が何を表しているかを示すために、roleEquation に設定されています。name は最も重要なプロパティで、ボタンのテキストにバインドされています。QMLの項目に関する付加的な情報を提供するには、description プロパティを使います。アクセシビリティツールによって呼び出されるシグナルハンドラAccessible.pressAction は、ボタンをトリガーするために、テキストをタップしたりクリックしたりするのと同じ効果を持つ必要があります。

テキストコンテンツは本質的にアクセシブルですが、マルチメディアコンテンツはそうではありません。そのため、画像、ビデオ、音声などのマルチメディア・コンテンツに必要なアクセシビリティ・メタデータを提供することが重要です。以下は、円グラフを表す画像にアクセシビリティ・メタデータを提供する例です:

Image {
    source: "pie-chart-683.png"
    Accessibility.role: Accessible.Chart
    Accessibility.name: qsTr("Pie chart")
    Accessibility.description: qsTr("Pie chart that shows the distribution
    of sales from three store locations: Durban representing 60 percent,
    Johannesburg 20 percent, and Cape Town 20 percent")
    Accessible.onPressAction: {
        // Expand the image
        ...
    }
}

詳しくは、Accessible を参照してください。

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