Проверка доступности HTML с помощью .NET API

Aspose.HTML for .NET предоставляет AccessibilityValidator для проверки HTML-документов по правилам доступности WCAG. Проверьте локальный файл или веб-страницу, найдите невыполненные проверки и затронутые элементы, а затем экспортируйте результаты в отчёт.

Регулярная проверка помогает разработчикам находить проблемы доступности до публикации и применять одинаковые правила при каждом изменении HTML-контента.


Проверка доступности HTML-документа на C#

Создайте валидатор со всеми доступными настройками правил, проверьте документ и обработайте только неудачные результаты. Читайте коллекцию ruleResult.Results, чтобы получить каждую невыполненную технику, даже если отдельная коллекция Errors пуста.

Код C# для проверки доступности HTML

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 веб-страницы.
  • Экспорт результатов. Обрабатывайте отчёты в коде или сохраняйте их в TXT, JSON или XML для анализа и автоматизированных сценариев.
  • Ручная проверка. Результаты автоматической проверки необходимо дополнить тестированием клавиатурной навигации, вспомогательных технологий, контента и удобства использования.

Для разовой проверки без кода используйте онлайн-сервис Web Accessibility Checker . Выбирайте .NET API, когда проверку нужно настраивать, повторять или включать в процесс разработки.


Документация по Accessibility Validator

В руководстве Accessibility Validator – проверка доступности по WCAG описаны доступные перегрузки CreateValidator() и фильтры ValidationBuilder. Статья Ошибки и предупреждения при проверке доступности объясняет обработку невыполненных техник и затронутых элементов. Инструкции по экспорту отчётов в TXT, JSON или XML приведены в статье Сохранение результатов проверки веб-доступности .


Установка Aspose.HTML for .NET

Установите Aspose.HTML for .NET из NuGet с помощью .NET CLI:

dotnet add package Aspose.HTML

Также можно использовать интерфейс диспетчера пакетов NuGet или выполнить Install-Package Aspose.HTML в консоли диспетчера пакетов. Подробные инструкции приведены в руководстве по установке . Чтобы протестировать API без ограничений ознакомительной версии, запросите временную лицензию .


Вопросы о валидаторе доступности HTML

1. Как проверить доступность HTML на C#?

Загрузите HTML-файл или URL с помощью HTMLDocument, создайте AccessibilityValidator через WebAccessibility и вызовите Validate(). Возвращённый объект ValidationResult содержит общий статус и подробные результаты правил, проверенных валидатором.

2. Может ли автоматический валидатор гарантировать соответствие WCAG?

Нет. Автоматическая проверка находит ошибки, которые можно выявить программно, но многие требования зависят от контекста и экспертной оценки. Дополнительно необходимо проверить клавиатурную навигацию, работу вспомогательных технологий и смысл контента.

3. Может ли валидатор проверять локальные HTML-файлы и веб-страницы?

Да. HTMLDocument может загрузить локальный файл или URL. Проверка удалённой страницы зависит от сетевого доступа и возможности получить таблицы стилей, скрипты и другие ресурсы, необходимые выбранным правилам.

4. Можно ли проверять только выбранные правила или уровни WCAG?

Да. Используйте ValidationBuilder для фильтрации по уровню или технологии либо создайте валидатор с принципом, рекомендацией, критерием или явным списком правил. Такой подход подходит для целевой политики вместо проверки всего репозитория.

5. Можно ли сохранять результаты проверки доступности?

Да. Метод SaveToString() возвращает текстовое представление, а SaveTo() вместе с ValidationResultSaveFormat записывает TXT, JSON или XML. Структурированные результаты можно архивировать или передавать системам отчётности и контроля качества.

Связанные сценарии проверки веб-доступности

Перейдите к выбранным правилам WCAG, проверке атрибутов alt, цветового контраста или обзору API веб-доступности.