.NET API で HTML アクセシビリティを検証

Aspose.HTML for .NET は、WCAG アクセシビリティルールに基づいて HTML ドキュメントを検証する AccessibilityValidator を提供します。ローカルファイルやウェブページを検証し、失敗したチェックと該当要素を特定して、結果をレポートとして出力できます。

定期的な検証により、公開前にアクセシビリティの問題を発見し、HTML コンテンツが変更されるたびに同じチェックを適用できます。


C# で HTML ドキュメントを検証

利用可能なすべてのルール設定でバリデーターを作成し、ドキュメントを検証して、失敗した結果だけを処理します。個別の Errors コレクションが空の場合でも失敗したすべての達成方法を出力できるように、ruleResult.Results を読み取ります。

HTML アクセシビリティを検証する C# コード

using System;
using System.IO;
using Aspose.Html;
using Aspose.Html.Accessibility;
using Aspose.Html.Accessibility.Results;

string documentPath = Path.Combine("data", "input.html");

WebAccessibility webAccessibility = new WebAccessibility();
AccessibilityValidator validator = webAccessibility.CreateValidator(
    ValidationBuilder.All);

// Validate the HTML document against the configured rules
using HTMLDocument document = new HTMLDocument(documentPath);
ValidationResult validationResult = validator.Validate(document);

foreach (RuleValidationResult ruleResult in validationResult.Details)
{
    if (ruleResult.Success)
    {
        continue;
    }

    Console.WriteLine($"{ruleResult.Rule.Code}: {ruleResult.Rule.Description}");

    // Inspect every technique result, including entries without an error object
    foreach (ITechniqueResult techniqueResult in ruleResult.Results)
    {
        if (techniqueResult.Success)
        {
            continue;
        }

        Console.WriteLine(
            $"  {techniqueResult.Rule.Code}: {techniqueResult.Rule.Description}");

        IError error = techniqueResult.Error;
        if (error == null)
        {
            continue;
        }

        Console.WriteLine($"    {error.ErrorTypeName}: {error.ErrorMessage}");

        if (error.Target?.TargetType == TargetTypes.HTMLElement &&
            error.Target.Item is HTMLElement element)
        {
            Console.WriteLine($"    {element.OuterHTML}");
        }
    }
}

HTML アクセシビリティを検証する方法

  1. バリデーターの作成機能とアクセシビリティルールのリポジトリにアクセスするため、 WebAccessibility オブジェクトを作成します。
  2. CreateValidator(ValidationBuilder.All) を呼び出し、完全なビルダー設定に一致するすべてのルールを対象としたバリデーターを作成します。
  3. ファイルまたは URL を HTMLDocument に読み込みます。
  4. Validate() を呼び出し、返された ValidationResult を保存します。
  5. Details を走査して失敗した RuleValidationResult オブジェクトを抽出し、Results 内の失敗した達成方法を確認します。結果に情報が含まれる場合は、エラーの詳細と該当する HTML 要素を出力します。

アクセシビリティチェックの構成と処理

  • 包括的な検証。 ValidationBuilder.All は、利用可能なすべてのレベルと技術の設定をリポジトリ内のルールに適用します。
  • 絞り込み検証。 レベル、技術、HTML タグ、原則、ガイドライン、達成基準、ルール一覧によってバリデーターの対象を限定できます。
  • 詳細な診断。 ValidationResult.Details はルールの結果を提供し、達成方法のエラーにはメッセージと該当する対象が含まれます。
  • ローカルおよびリモート HTML。 HTMLDocument は検証前に HTML ファイルまたはウェブページの URL を読み込めます。
  • 出力可能な結果。 レポートはコード内で処理するか、レビューや自動ワークフロー用にテキスト、JSON、XML で保存できます。
  • 手動確認。 自動検証の結果は、キーボード操作、支援技術、コンテンツ、ユーザビリティのテストと組み合わせる必要があります。

コードを書かずに一度だけ確認する場合は、 オンライン Web Accessibility Checker を使用できます。検証の構成、反復実行、開発パイプラインへの統合が必要な場合は .NET API を使用してください。


アクセシビリティバリデーターのドキュメント

Accessibility Validator ガイドでは、利用可能な CreateValidator() オーバーロードと ValidationBuilder フィルターについて説明しています。失敗した達成方法と対象要素の処理については Errors and Warnings 、レポートをテキスト、JSON、XML で出力する方法については Save Validation Results を参照してください。


Aspose.HTML for .NET のインストール

.NET CLI を使用して、NuGet から Aspose.HTML for .NET をインストールします。

dotnet add package Aspose.HTML

NuGet パッケージ マネージャーの UI を使用するか、パッケージ マネージャー コンソールで Install-Package Aspose.HTML を実行することもできます。セットアップの詳細は インストール ガイド を参照してください。評価制限なしで API を試すには、 一時ライセンス を申請できます。


HTML アクセシビリティバリデーターの FAQ

1. C# で HTML のアクセシビリティを検証するにはどうすればよいですか?

HTML ファイルまたは URL を HTMLDocument で読み込み、WebAccessibility から AccessibilityValidator を作成して Validate() を呼び出します。返される ValidationResult には、バリデーターが評価したルールの状態と詳細な結果が含まれます。

2. 自動アクセシビリティバリデーターで WCAG への適合を保証できますか?

いいえ。自動検証では機械的に判定できる問題を特定できますが、多くの要件は文脈や人の判断に依存します。キーボード操作、支援技術、コンテンツの意味について手動で確認する必要があります。

3. ローカル HTML ファイルとウェブページの両方を検証できますか?

はい。HTMLDocument はローカルファイルまたは URL を読み込めます。リモート検証の結果は、ネットワークアクセスと、選択したチェックに必要なスタイルシート、スクリプト、その他のリソースをドキュメントが取得できるかどうかに依存します。

4. 選択した WCAG ルールまたはレベルだけを検証できますか?

はい。ValidationBuilder でレベルや技術を絞り込むか、原則、ガイドライン、達成基準、明示的なルール一覧を使用してバリデーターを作成します。リポジトリ全体ではなく、特定のポリシーをパイプラインに適用する場合に役立ちます。

5. アクセシビリティ検証の結果を保存できますか?

はい。テキスト表現には SaveToString() を使用し、テキスト、JSON、XML の書き込みには ValidationResultSaveFormat を指定した SaveTo() を使用します。構造化された出力は、アーカイブしたり、レポートや品質管理のワークフローで利用したりできます。

関連するウェブアクセシビリティワークフロー

WCAG ルールの選択、画像の alt 属性チェック、カラーコントラスト検証、アクセシビリティ API の概要をご覧ください。