Проверка доступности 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
- Создайте объект WebAccessibility , который предоставляет доступ к созданию валидатора и репозиторию правил доступности.
- Вызовите
CreateValidator(ValidationBuilder.All), чтобы создать валидатор для всех правил, соответствующих полному набору настроек. - Загрузите файл или URL в HTMLDocument .
- Вызовите
Validate()и сохраните возвращённый объект ValidationResult . - Переберите коллекцию
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 веб-доступности.