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 предлагает три предопределенных набора свойств:

Класс также предоставляет методы для настройки валидации, такие как выбор конкретных технологий ( 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, и служит основным контейнером для отчета о результатах валидации. Он включает два ключевых свойства:

Для поддержки экспорта результатов и создания отчетов класс предоставляет несколько методов: saveTo(TextWriter) и saveTo(TextWriter, ValidationResultSaveFormat) позволяют сохранить результаты в указанный поток вывода, а saveToString() возвращает результаты проверки в виде отформатированной String.

Более полное описание можно найти в статье Результаты валидации – проверка веб-доступности на Java.

Как проверить HTML документ на веб-доступность

Чтобы выполнить проверку документа, выполните следующие действия:

  1. Используйте конструктор WebAccessibility(), чтобы создать экземпляр класса WebAccessibility.
  2. Вызовите один из методов createValidator(), чтобы создать объект validator.
  3. Загрузите HTML-документ с помощью одного из конструкторов HTMLDocument().
  4. Используйте метод validate(document) для проверки документа на соответствие правилам веб-доступности.
  5. Результатом проверки является экземпляр класса ValidationResult.
  6. Выведите результаты проверки в консоль и используйте их при необходимости для дальнейшего анализа.

Приведем пример вызова проверки документа. Следующий 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}
Example_ValidationResult hosted with ❤ by GitHub

Смотрите также

Aspose.HTML предлагает бесплатную онлайн Проверку веб-доступности. Этот инструмент сканирует веб-страницы, проверяет их на соответствие требованиям WCAG, выявляет проблемы и предлагает улучшения. Получите мгновенное представление о соответствии вашего сайта требованиям WCAG, что позволит вам определить объем необходимых исправлений и разрыв между текущим состоянием вашего сайта или HTML-документа и требованиями WCAG.

Текст “Проверка веб-доступности”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.