検索
ホームページウェブフロントエンドjsチュートリアルAXで自動化されたアクセシビリティチェック

Automated Accessibility Checking with aXe

ax:Webサイトをよりアクセスしやすくするための自動補助関数テスト

障害のある人もそれにアクセスできるようにウェブサイトを設計したとき、どのくらいの時間と労力を費やしましたか?多くの人が「いいえ」と答えるかもしれません。ただし、多数のインターネットユーザーは、色を区別したり、テキストを読んだり、マウスを使用したり、複雑なWebサイト構造を閲覧したりするのが難しいため、Webサイトにアクセスするのが困難です。

アクセシビリティソリューションを確認および実装するための努力が必要であるため、アクセシビリティの問題は見落とされがちです。開発者は、基礎となる基準に精通しているだけでなく、満たされているかどうかも常に確認する必要があります。標準チェックを自動化することにより、アクセシビリティWebサイトの開発を簡素化できますか?

この記事では、AXライブラリといくつかの関連するツールを使用して、Webサイトやアプリケーションの潜在的なアクセシビリティの問題を自動的に確認および報告する方法を示します。そのようなアクティビティに必要な作業量を減らし、いくつかの手動作業を自動化することにより、作成したコンテンツを使用するすべてのユーザーにより良い結果をもたらすことができます。

axはじめに

AXは、補助機能テストを主流のWeb開発にもたらすように設計された自動補助機能テストライブラリです。 Axe-Coreライブラリはオープンソースであり、さまざまなテストフレームワーク、ツール、環境で動作するように設計されています。たとえば、機能テストの開発バージョン、ブラウザプラグイン、またはアプリケーションで実行できます。現在、Webサイトのさまざまなアクセシビリティの側面をチェックするための約55のルールをサポートしています。

ライブラリがどのように機能するかをすばやく実証するには、簡単なコンポーネントを作成してテストしましょう。完全なページは作成しませんが、タイトルだけを作成します。

写真:CODEPENサンプルスクリーンショット

タイトルを作成する際にいくつかの優れたデザインの決定を下しました:
  1. この色はエレガントでスタイリッシュなので、背景とダークグレーへのリンクを設定します
  2. 検索ボタンにクールな拡大ガラスアイコンを使用しました
  3. 検索入力のタブインデックスを1に設定して、ユーザーがタブキーを押して、ページを開くときにすぐに検索クエリを入力できるようにします。
悪くないよね?アクセシビリティの観点からそれがどのように見えるか見てみましょう。 CDNからaxを追加し、次のようにすべてのエラーをブラウザコンソールにログに記録できます。

例を実行してコンソールを開くと、私たちが抱えている問題をリストしている6つの違反オブジェクトの配列が表示されます。各オブジェクトは、当社が違反したルール、非難すべきHTML要素への言及を説明し、問題を解決する方法に関する情報を支援します。
axe.run(function (err, results) {
  if (results.violations.length) {
    console.warn(results.violations);
  }
});

以下は、JSON形式で表示される違反オブジェクトの例です。

違反の説明だけを選択する場合、ここにそれが言っていることがあります:

[
  {
    "id": "button-name",
    // ... (其余 JSON 数据)
  }
]

私たちはデザインの決定にそれほど素晴らしいものではなかったことが証明されています:

  1. 私たちが選んだ2つの灰色の影は十分に対照的ではなく、視覚障害のある人が
  2. を読むのは難しいかもしれません
  3. 検索ボタンの拡大ガラスアイコンは、スクリーンリーダーを使用している人にボタンの目的に関する指示を提供しません
  4. 検索入力タブインデックススクリーンリーダーまたはキーボードを使用している人の通常のナビゲーションプロセスを破り、メニューリンクにアクセスするのが難しくなります。

私たちが期待していなかった他のいくつかのことも指摘しています。さまざまな標準ガイドラインやベストプラクティスからのルールを含む、合計約55の異なるチェックが実行されました。

エラーリストを表示するには、スクリプトをページ自体に挿入する必要があります。完全に実現可能ですが、便利ではありません。自分で何も注入せずにこれらのチェックを任意のページで実行できればさらに良いでしょう。よく知られているテストランナーを使用するのが最善です。これは、Selenium WebDriverとMochaを使用して行うことができます。

Selenium WebDriverを使用してAXを実行します

seleniumを使用してaxを実行するには、Axe-webdriverjsライブラリを使用します。 WebDriverの上で使用できるAX APIを提供します。

セットアップするには、個別のプロジェクトを作成し、NPM initコマンドを使用してNPMプロジェクトを初期化しましょう。必要なすべてのデフォルト値を残すことができます。 Seleniumを実行するには、Selenium-Webdriverをインストールする必要があります。 Phantomjsでテストを実行するため、インストールする必要があります。 Seleniumにはノードバージョン6.9以降が必要なので、インストールしていることを確認してください。

ソフトウェアパッケージをインストールするには、実行してください:

axe.run(function (err, results) {
  if (results.violations.length) {
    console.warn(results.violations);
  }
});

ここで、Axe-CoreとAxe-Webdriverjs:

をインストールする必要があります
[
  {
    "id": "button-name",
    // ... (其余 JSON 数据)
  }
]

インフラストラクチャがセットアップされたので、SitePoint.comに対してテストを実行するスクリプトを作成しましょう(個人的なgrみ、男)。プロジェクトフォルダーにaxe.jsファイルを作成し、以下を追加します。

このテストを実行するには、node axe.jsを実行できます。地元のプロジェクトにPhantomjsがインストールされているため、コンソールから実行できません。 NPMスクリプトとして実行する必要があります。これを行うには、package.jsonファイルを開き、デフォルトのテストスクリプトエントリを変更します。
<code>确保按钮具有清晰的文本
确保前景和背景颜色之间的对比度满足 WCAG 2 AA 对比度比率阈值
确保每个 HTML 文档都有一个 lang 属性
确保 <img  alt="AXで自動化されたアクセシビリティチェック" > 元素具有替代文本或无角色或演示角色
确保每个表单元素都有一个标签
确保 tabindex 属性值不大于 0</code>

今すぐNPMテストを実行してみてください。数秒で、AXによって見つかった違反のリストが表示されます。違反が見られない場合、この記事を読んだ後にSitePointがそれらを修正したことを意味する可能性があります。

npm install phantomjs-prebuilt selenium-webdriver --save-dev
これは、テストしているページを変更する必要がないため、CLIを使用して便利に実行できないため、最初のアプローチよりも便利です。ただし、これの欠点は、テストを実行するために個別のスクリプトを実行する必要があることです。残りのテストで実行できればさらに良いでしょう。これを達成するためにモカを使用する方法を見てみましょう。

Mocha Mochaは最も人気のあるテストランナーの1人なので、AXを試すのは良い選択のようです。ただし、Axをお気に入りのテストフレームワークに同様の方法で統合できるはずです。さらに、Seleniumサンプルプロジェクトを構築しましょう。

明らかに、Mocha自体とアサーションライブラリが必要です。チャイはどうですか?次のコマンドですべてをインストールします

axe.run(function (err, results) {
  if (results.violations.length) {
    console.warn(results.violations);
  }
});
ここで、Mochaテストケースで書いたセレンコードをラップする必要があります。次のコードを使用して、テスト/axe.spec.jsファイルを作成します

テストは、結果の長さをチェックすることにより、非常に基本的なアサーションを実行します。テストを実行するには、テストスクリプトを変更してMochaを呼び出します。
[
  {
    "id": "button-name",
    // ... (其余 JSON 数据)
  }
]
この演習の次の論理的なステップは、テストが失敗したときにより詳細なエラーレポートを生成することです。その後、ページの結果を正しく表示するために、お気に入りのCI環境と統合することも役立ちます。これらの2つのことを演習として読者に任せ、有用な追加のax構成オプションを紹介し続けます。

<code>确保按钮具有清晰的文本
确保前景和背景颜色之间的对比度满足 WCAG 2 AA 对比度比率阈值
确保每个 HTML 文档都有一个 lang 属性
确保 <img  alt="AXで自動化されたアクセシビリティチェック" > 元素具有替代文本或无角色或演示角色
确保每个表单元素都有一个标签
确保 tabindex 属性值不大于 0</code>
(高度な構成、要約、FAQに関するコンテンツは、以前の出力、コンテンツの一貫性の維持、ステートメントと段落構造の調整に基づいて同様に書き直すことができます。 🎜>

以上がAXで自動化されたアクセシビリティチェックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptの文字列文字を交換しますJavaScriptの文字列文字を交換しますMar 11, 2025 am 12:07 AM

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

独自のAjax Webアプリケーションを構築します独自のAjax Webアプリケーションを構築しますMar 09, 2025 am 12:11 AM

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか?独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか?Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか?ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか?Mar 18, 2025 pm 03:14 PM

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか?ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか?Mar 18, 2025 pm 03:16 PM

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

jQueryマトリックス効果jQueryマトリックス効果Mar 10, 2025 am 12:52 AM

マトリックスの映画効果をあなたのページにもたらしましょう!これは、有名な映画「The Matrix」に基づいたクールなJQueryプラグインです。プラグインは、映画の古典的な緑色のキャラクター効果をシミュレートし、画像を選択するだけで、プラグインはそれを数値文字で満たされたマトリックススタイルの画像に変換します。来て、それを試してみてください、それはとても面白いです! それがどのように機能するか プラグインは画像をキャンバスにロードし、ピクセルと色の値を読み取ります。 data = ctx.getimagedata(x、y、settings.greasize、settings.greasize).data プラグインは、写真の長方形の領域を巧みに読み取り、jQueryを使用して各領域の平均色を計算します。次に、使用します

シンプルなjQueryスライダーを構築する方法シンプルなjQueryスライダーを構築する方法Mar 11, 2025 am 12:19 AM

この記事では、jQueryライブラリを使用してシンプルな画像カルーセルを作成するように導きます。 jQuery上に構築されたBXSLiderライブラリを使用し、カルーセルをセットアップするために多くの構成オプションを提供します。 今日、絵のカルーセルはウェブサイトで必須の機能になっています - 1つの写真は千の言葉よりも優れています! 画像カルーセルを使用することを決定した後、次の質問はそれを作成する方法です。まず、高品質の高解像度の写真を収集する必要があります。 次に、HTMLとJavaScriptコードを使用して画像カルーセルを作成する必要があります。ウェブ上には、さまざまな方法でカルーセルを作成するのに役立つ多くのライブラリがあります。オープンソースBXSLiderライブラリを使用します。 BXSLiderライブラリはレスポンシブデザインをサポートしているため、このライブラリで構築されたカルーセルは任意のものに適合させることができます

Angularを使用してCSVファイルをアップロードおよびダウンロードする方法Angularを使用してCSVファイルをアップロードおよびダウンロードする方法Mar 10, 2025 am 01:01 AM

データセットは、APIモデルとさまざまなビジネスプロセスの構築に非常に不可欠です。これが、CSVのインポートとエクスポートが頻繁に必要な機能である理由です。このチュートリアルでは、Angular内でCSVファイルをダウンロードおよびインポートする方法を学びます

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません