Accessibility Validator – Проверка доступности веб-сайта
Создать валидатор – Accessibility Validator
Aspose.HTML for Java предоставляет пакет com.aspose.html.accessibility, который предназначен для всех манипуляций и проверок, связанных с веб-доступностью. Класс AccessibilityValidator инициализирует объект, который используется для проверки документа на соответствие критериям успеха WCAG. Чтобы создать объект, необходимо использовать контейнер WebAccessibility.
Чтобы создать валидатор, инициализируйте объект класса WebAccessibility
следующим образом:
1 // Initialize webAccessibility container
2 WebAccessibility webAccessibility = new WebAccessibility();
Объект webAccessibility
имеет несколько перегруженных методов
createValidator() для создания экземпляра AccessibilityValidator
с различными уровнями настройки. Эти методы позволяют создавать валидаторы, используя все правила по умолчанию, конкретное правило или список правил, и настраивать их с помощью объекта ValidationBuilder
. Такой гибкий подход позволяет создавать как простые, так и сложные настраиваемые проверки доступности.
Следующие примеры на Java демонстрируют, как инициализировать AccessibilityValidator
либо для всех доступных правил, либо для определенного подмножества, основанного на одном принципе доступности:
Пример 1. Создание валидатора для проверки всех правил
В этом примере показано, как инициализировать AccessibilityValidator
, который включает все доступные правила доступности, используя стандартные комплексные настройки, предоставляемые ValidationBuilder.getAll()
:
1// Initialize the webAccessibility container
2WebAccessibility webAccessibility = new WebAccessibility();
3
4// Create an accessibility validator with all rules using the default settings
5AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
Пример 2. Создание валидатора для проверки конкретного принципа
В этом примере выбирается конкретный принцип доступности с помощью его кода (например, “1”), а валидатор создается только для правил, относящихся к этому принципу:
1// Retrieve a specific principle by its code
2IRule rule = webAccessibility.getRules().getPrinciple("1");
3
4// Create a validator for that principle using the same default settings
5AccessibilityValidator validatorRule = webAccessibility.createValidator(rule, ValidationBuilder.getAll());
Класс ValidationBuilder
Класс
ValidationBuilder определяет вспомогательный класс, который может быть использован для настройки списка правил, проверяемых валидатором. Класс ValidationBuilder
определяет методы и предоставляет конкретные реализации шагов настройки.
Класс ValidationBuilder
предлагает три предопределенных набора свойств:
- All – включает все уровни и технологии,
- Default – включает только общие технологии на самом низком уровне,
- None – никакие настройки не применяются.
Класс также предоставляет методы для настройки валидации, такие как выбор конкретных технологий (
useHTML(),
useCSS(),
useScript()), установка уровней критериев (useLowestLevel()
, useMiddleLevel()
, useHighestLevel()
, allLevels()
) и т.д.
Например, следующий Java-код инициализирует AccessibilityValidator
для выполнения проверок доступности на основе пользовательской конфигурации. Он начинается с создания контейнера WebAccessibility
, который служит основной точкой доступа для функций проверки. Затем, используя ValidationBuilder.getNone()
, он создает валидатор без предопределенных правил. После этого он явно включает проверки для технологий HTML и CSS и ограничивает валидацию средним уровнем соответствия (обычно WCAG Level AA). Такая настройка позволяет проводить целенаправленную, основанную на стандартах валидацию, которая нацелена только на выбранные технологии и определенный уровень соответствия.
1// Initialize the WebAccessibility container
2WebAccessibility webAccessibility = new WebAccessibility();
3
4// Create a validator with no predefined filters, enabling HTML and CSS technologies, and selecting the middle conformance levels
5AccessibilityValidator validatorHTML = webAccessibility.createValidator(
6 ValidationBuilder.getNone()
7 .useHTML()
8 .useCSS()
9 .useMiddleLevel()
10);
Класс ValidationResult
Класс
ValidationResult – это центральный компонент проверки доступности веб-страниц. Он инкапсулирует результаты проверок доступности, предоставляя структурированный способ анализа, управления и принятия мер по результатам операций проверки. Чтобы использовать его, инстанцируйте объект валидатора и вызовите метод
validate(document
), передав в него документ, подлежащий проверке. Метод возвращает объект ValidationResult
, содержащий результаты процесса валидации.
Класс ValidationResult
объединяет результаты по всем критериям, определенным в объекте AccessibilityRules
, и служит основным контейнером для отчета о результатах валидации. Он включает два ключевых свойства:
- Details, которое предоставляет подробные результаты для каждого проверенного критерия;
- Success, которое показывает общий статус валидации (пройден/не пройден).
Для поддержки экспорта результатов и создания отчетов класс предоставляет несколько методов: saveTo(TextWriter)
и saveTo(TextWriter, ValidationResultSaveFormat)
позволяют сохранить результаты в указанный поток вывода, а saveToString()
возвращает результаты проверки в виде отформатированной String
.
Более полное описание можно найти в статье Результаты валидации – проверка веб-доступности на Java.
Как проверить HTML документ на веб-доступность
Чтобы выполнить проверку документа, выполните следующие действия:
- Используйте конструктор WebAccessibility(), чтобы создать экземпляр класса WebAccessibility.
- Вызовите один из методов
createValidator(), чтобы создать объект
validator
. - Загрузите HTML-документ с помощью одного из конструкторов HTMLDocument().
- Используйте метод
validate(
document
) для проверки документа на соответствие правилам веб-доступности. - Результатом проверки является экземпляр класса ValidationResult.
- Выведите результаты проверки в консоль и используйте их при необходимости для дальнейшего анализа.
Приведем пример вызова проверки документа. Следующий Java-код выведет на консоль, какие правила прошли проверку, а какие нет:
1// Initialize a webAccessibility container
2WebAccessibility webAccessibility = new WebAccessibility();
3
4// Create an accessibility validator with static instance for all rules
5// from repository that match the builder settings
6AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
7
8// Prepare a path to a source HTML file
9String documentPath = "input.html";
10
11// Initialize an object of the HTMLDocument class
12final HTMLDocument document = new HTMLDocument(documentPath);
13ValidationResult validationResult = validator.validate(document);
14
15// Checking for success
16if (!validationResult.getSuccess()) {
17 // Get a list of RuleValidationResult Details
18 for (RuleValidationResult detail : validationResult.getDetails()) {
19 System.out.println(String.format("%s: %s = %s",
20 detail.getRule().getCode(),
21 detail.getRule().getDescription(),
22 detail.getSuccess()));
23 }
24}
Смотрите также
- Полезные советы по оценке и улучшению видимости текста вы найдете в статье Доступность цветового контраста, в которой рассматривается проверка контрастности на основе WCAG с использованием Aspose.HTML for Java.
- Инструкции по проверке совместимости веб-контента с программами чтения с экрана вы найдете в статье Доступность программ чтения с экрана. Вы узнаете, как проверить альтернативный текст и другие ключевые элементы.
- Если вы хотите узнать, как просматривать результаты проверки и выявлять проблемы веб-доступности, обратитесь к статье Результаты проверки.
- В статье
Проверка доступности веб-сайта – Oшибки и предупреждения вы узнаете как программно собирать информацию об ошибках и предупреждениях при проверке доступности веб-сайта.
Aspose.HTML предлагает бесплатную онлайн Проверку веб-доступности. Этот инструмент сканирует веб-страницы, проверяет их на соответствие требованиям WCAG, выявляет проблемы и предлагает улучшения. Получите мгновенное представление о соответствии вашего сайта требованиям WCAG, что позволит вам определить объем необходимых исправлений и разрыв между текущим состоянием вашего сайта или HTML-документа и требованиями WCAG.