Oracle JETコンポーネント表およびメッセージのアクセシビリティの確認
イントロダクション
Oracle JETアプリケーションでのスクリーン・リーダー検証の実行チュートリアルでは、「従業員」ページでいくつかのアクセシビリティの問題に対処しました。このチュートリアルでは、いくつかの問題に対処します。
目的
このチュートリアルでは、ACCLearningPath
アプリケーションの「従業員」ページで残りのアクセシビリティの問題を識別および修正する方法を学習します。
前提条件
- JavaScriptランタイム、Node.jsおよびOracle JETリリース13.0 (以降)のコマンドライン・インタフェースがインストールされたOracle JETアプリケーションを作成するように設定された開発環境
- Oracle JET開発者クックブックへのアクセス
- Oracle JETキーボードおよびジェスチャー・ガイドへのアクセス
- この学習パスでの前のチュートリアルの完了、Oracle JETアプリケーションでのマスター詳細ビューのアクセシビリティの検証
タスク1: ページ構造の確認
レビューの最初のステップは、必要なすべてのHTMLヘッダーがページに表示されることを確認することです。
-
ターミナルで
ACCLearningPath
ディレクトリに移動し、アプリケーションを実行します。$ ojet serve
ブラウザが開き、「概要」タブがロードされたアプリの「概要」ページが表示されます。タブ・バーの「従業員」タブをクリックし、「従業員」ページを確認します。
従業員ページは、2つのパネルで構成されます。HTML見出しは、ページ自体および各パネルにはありません。
-
ACCLearningPath/src/js/views
フォルダに移動し、エディタでemployees.html
ファイルを開きます。 -
ファイル内で最初に開いている
<div>
タグを見つけます。<div class="oj-hybrid-padding"> <oj-messages id="messagesId" messages="[[messagesDataprovider]]" display="notification" position="[[positionObject]]"> </oj-messages>
-
開始タグ
<div>
の直後に、従業員ページを識別するh3
見出しを挿入します。<div class="oj-hybrid-padding"> <h3>Employees</h3> <oj-messages id="messagesId" messages="[[messagesDataprovider]]" display="notification" position="[[positionObject]]"> </oj-messages>
-
表を含む左パネルを形成する開始
<div>
タグを見つけます。<div class="oj-flex-item"> <oj-table id='table' class="table-size" first-selected-row="{{selectedRow}}" aria-label="Employees Table" . . . >
-
開いている
<div>
タグと<oj-table>
タグの間に、このパネルに正しくラベルを付けるh4
見出しを挿入します。<div class="oj-flex-item"> <h4>Employees Table</h4> <oj-table id='table' class="table-size" first-selected-row="{{selectedRow}}" aria-label="Employees Table" . . . >
-
<oj-table>
要素のaria-label
属性を編集して、見出しテキストと2番目のパネルに表示される指示テキストの両方を含めます。<div class="oj-flex-item"> <h4>Employees Table</h4> <oj-table id='table' class="table-size" first-selected-row="{{selectedRow}}" aria-label="Employees Table - Activate a row to see employee details" . . . >
この表は、WCAG Success Criterion 2.5.3 Label in NameとWCAG Success Criterion 1.3.1 Info and Relationshipの両方に準拠しています。これらの基準を満たすには、右パネルの表示ラベルと指示テキストの両方をコントロールの話しラベルに含める必要があります。
-
従業員の詳細を保持する「従業員」ページの右パネルを定義する開始
<div>
タグを見つけます。<div id="detailContainer" class="oj-flex-item" style="margin-left: 30px; min-width: 200px"> <hr style="margin-top:12px;"> <oj-bind-if test="[[!activeRow()]]">
-
<div>
タグと<oj-bind-if>
タグの間に、このパネルを識別する水平ルールの下にh4
見出しを挿入します。<div id="detailContainer" class="oj-flex-item" style="margin-left: 30px; min-width: 200px"> <hr style="margin-top:12px;"> <h4>Employee Details</h4> <oj-bind-if test="[[!activeRow()]]">
-
ファイルを保存します。ファイルはemployees- page- html.txtのようになります。
-
実行中のアプリケーションで適用された変更を確認します。
タスク2: キーボード専用テストの実行
このチュートリアルのこのセクションおよび次の「スクリーン・リーダー・テストの実行」部分は、マウスを使用せずに実行する必要があります。このテストでは、フォーカス・ポイントが常に明確に識別され、タブ順序が予測可能であることを確認します。
-
「従業員」ページで、
<Ctrl+L>
を押してアドレス・バーにフォーカスを設定します。 -
<Tab>
を押します。フォーカスがスキップナビゲーションリンクに移動します。 -
<Tab>
を押します。フォーカスがページの右上にあるユーザーメニューの john.hancock@oracle.comに移動します。 -
<Tab>
を押します。フォーカスがユーザー・メニューのすぐ下にあるメイン・ナビゲーション・メニューの「概要」に移動します。 -
<Tab>
を押します。フォーカスがタブ・バーの「概要」に移動します。 -
<Tab>
を押します。フォーカスが従業員テーブルの最初の列ヘッダーである従業員番号に移動します。 -
<down arrow>
を押して、表の最初のデータ行にフォーカスを置きます。「従業員詳細」フォームがページの右側のパネルに表示されます。
-
<Space>
を押して行を選択し、<F2>
を押して最初のタブ可能な要素である「編集」ボタンにフォーカスを移動します。 -
<Space>
を押して「編集」ボタンをアクティブ化します。「従業員の編集」ダイアログが開き、フォーカスが「従業員ID」フィールドに移動します。 -
<Tab>
を押します。フォーカスが「従業員名」フィールドに移動します。 -
<Tab
>を押します。フォーカスが「ジョブ・タイトル」フィールドに移動します。 -
<Tab>
を押します。フォーカスが「採用日」フィールドに移動します。 -
<Tab>
を押します。フォーカスが「給与」フィールドに移動します。 -
<Tab>
を押します。フォーカスが「保存」ボタンに移動します。 -
<Space>
を押して「保存」ボタンをアクティブ化し、ダイアログを閉じます。フォーカスが従業員テーブルの選択した最初のデータ行に戻ります。ページの左上隅のメッセージ・ボックスを確認します。メッセージ・ボックスには、更新が保存されたことを示す確認が表示されます。
画面拡大ソフトウェアでは、従業員テーブルにフォーカスが置かれているため、確認メッセージが拡大鏡のビューポートの外に配置されることがあります。
-
ACCLearningPath/src/js/viewModels
フォルダに移動し、employees.js
を編集します。 -
this.positionObject
の定義を見つけます。this.positionObject = { my: { vertical: "top", horizontal: "start" }, at: { vertical: "top", horizontal: "start" }, of: "window", };
-
オブジェクトの場所がウィンドウではなく表に基づいているように、
positionObject
定義を変更します。this.positionObject = { my: { vertical: "top", horizontal: "start" }, at: { vertical: "top", horizontal: "start" }, of: "#table", };
ファイルを保存します。次に、キーボードのみのテストのステップ1から15を繰り返して、確認メッセージの場所が表に移動したことを確認します。
タスク3: スクリーン・リーダー・テストの実行
アクセシビリティ・レビューの最後の部分は、スクリーン・リーダーによる検証です。次の検証ステップはJAWSスクリーン・リーダーの使用に基づいていますが、NVDAスクリーン・リーダーを使用している場合の結果は似ています。
-
ターミナル・ウィンドウで、
<Ctrl+C>
を押して実行中のアプリケーションを終了し、プロンプトが表示されたらy
と入力します。 -
スクリーン・リーダーを起動し、Webアプリケーションを再起動します。
$ ojet serve
アプリはブラウザー内で自動的に開かれます。ページの読み込みが完了すると、スクリーンリーダーは読み込みを開始します。
-
タブ・バーの「Employees」タブをクリックします。このポイントのあとにマウスを使用しないでください。
-
<Ctrl+L>
を押してアドレスバーにフォーカスを設定します。 -
<Tab>
を押します。JAWSは、「メイン・コンテンツにスキップします。同じページ・リンク」。 -
<Tab>
を押します。JAWSは「バナー・リージョン」と言います。ツールバー。john.hancock@oracle.comボタンメニュー。[Space]を押してメニューをアクティブにし、矢印キーで移動します。 -
<Tab>
を押します。JAWSから「ナビゲーション・リージョン」タブが表示されます。「はじめに」タブが選択されています。1/2」 -
<Tab>
を押します。JAWSは、「Main region」タブと言います。「従業員」タブが選択されました。3/4」 -
<Tab>
を押します。JAWSには、「6列、13行を超える表」と表示されます。従業員テーブル- 行をアクティブにして従業員の詳細を表示します。列ヘッダー1、従業員番号」。フォーカスが表の列ヘッダーの行の最初のセルに移動します。 -
<down arrow>
を押します。JAWSは「Row 1: 7839」と言います。選択解除済列1、従業員番号: 7839"フォーカスは、表の最初のデータ行にあります。 -
<right arrow>
を押します。JAWSは、列番号と従業員ユーザー名を示します。 -
<Space>
を押します。行が選択され、JAWSで「Space」と表示されます。選択されました。" -
<F2>
を押して、最初のタブ可能な要素に移動します。JAWSは「編集」ボタンです。アクティブ化するには、[Enter]を押します。 -
<Enter>
を押します。JAWSは、「従業員の編集」と言います。従業員の編集従業員ID 7,839..."スクリーン・リーダーは「従業員の編集」ダイアログを開き、キーが押されるまで読取りを続行します。 -
<Tab>
を5回押して、編集可能フィールドと読取り専用フィールドを「保存」ボタンに移動します。JAWSは「Save button」と言います。アクティブ化するには、[Enter]を押します。 -
<Enter>
を押します。JAWSは、「メッセージ・カテゴリ: 確認。更新が保存されました。従業員Oneginの変更が保存されました。"以前のチュートリアルでの編集のため、アプリケーションの従業員ユーザー名はここで異なる場合があります。 -
<F6>
を押して、メッセージ・ボックスの内容を読み取ります。JAWSは「メッセージ補完リージョン」と言います。更新が保存されました。メッセージ・リージョンの入力。F6を押して、フォーカスされていた前の要素に戻ります。」 -
<Tab>
を押します。JAWSは「閉じる」ボタンです。アクティブ化するには、[Enter]を押します。 -
<Enter>
を押して、メッセージ・ボックスを閉じます。フォーカスが表および前に選択したセルに戻ります。 -
スクリーン・リーダーを停止します。
-
ターミナル・ウィンドウで、
<Ctrl+C>
を押してアプリケーションを終了し、プロンプトが表示されたらy
と入力します。
これで、3つ目のアクセシビリティ修正が完了します。この学習パス内の最後のチュートリアルは、複雑なOracle JETコンポーネントでのキーボード・ナビゲーションのテストです。
その他の学習リソース
他のラボをdocs.oracle.com/learnで探すか、Oracle Learning YouTubeチャネルでより無料の学習コンテンツにアクセスします。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品のドキュメントは、Oracle Help Centerを参照してください。
Verify the accessibility of Oracle JET components table and message
F34164-02
October 2022
Copyright © 2022, Oracle and/or its affiliates.