Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Проверка веб-сайта на доступность означает, что все, включая людей с ограниченными возможностями, могут пользоваться вашим сайтом или приложением. Для этого необходимо протестировать содержимое на соответствие рекомендациям WCAG, в которых описано, как сделать цифровой опыт более инклюзивным. Используя Aspose.HTML for Java, вы можете автоматизировать этот процесс, проверив HTML и CSS на наличие проблем с доступностью – либо по полному набору стандартов WCAG, либо сфокусировавшись на определенных критериях.
В этой статье вы узнаете, как оценить доступность сайта на соответствие требованиям WCAG с помощью классов и методов из пакетов com.aspose.html.accessibility и com.aspose.html.accessibility.results. Мы рассмотрим различные классы и интерфейсы, которые помогают собирать информацию об ошибках и предупреждениях при проверке доступности сайта. Особое внимание будет уделено критериям отказа и методам сообщения об ошибках, а также Java-примеру, демонстрирующему получение информации об ошибках доступности веб-сайта после проверки HTML-документа.
Давайте посмотрим фрагмент кода, связанный с проверкой веб-доступности. Следующий код проверяет доступность удаленной HTML-страницы с использованием всех правил валидации WCAG и выводит подробную информацию о правилах, которые не были успешно выполнены:
Url).document) для проверки веб-страницы на доступность. Результат сохраняется в переменной validationResult. 1// Check website for WCAG compliance in Java
2
3// Initialize webAccessibility container
4WebAccessibility webAccessibility = new WebAccessibility();
5
6// Create an accessibility validator with static instance
7// for all rules from repository that match the builder settings
8AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
9
10// Initialize an HTMLDocument object
11final HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net/generators/video/");
12ValidationResult validationResult = validator.validate(document);
13
14// Checking for success
15if (!validationResult.getSuccess()) {
16 // Get a list of Details
17 for (RuleValidationResult detail : validationResult.getDetails()) {
18 System.out.println(String.format("%s: %s = %s",
19 detail.getRule().getCode(),
20 detail.getRule().getDescription(),
21 detail.getSuccess()
22 ));
23 }
24}Обнаружение ошибок помогает выявить барьеры, которые могут помешать людям с ограниченными возможностями эффективно использовать веб-контент и взаимодействовать с ним. Ошибки и предупреждения указывают на то, что необходимо сделать для улучшения доступности веб-сайта. Они служат для разработчиков и дизайнеров дорожной картой для внесения необходимых изменений.
IError – это публичный интерфейс, содержащий информацию об ошибке валидации. Это означает, что проверка была ошибочной, т. е. правило не было пройдено – и ее результат не соответствует Accessibility.
Интерфейс
IError описывает детали проблемы валидации, возникшей при проверке доступности. Он предоставляет ключевую информацию об ошибке, включая человекочитаемое сообщение с помощью getErrorMessage(), статус результата с помощью getSuccess(), а также тип ошибки в виде числового значения (getErrorType()) и описательного имени (getErrorTypeName()), например, Error или Warning. Кроме того, getTarget() возвращает конкретный элемент HTML или CSS, в котором возникла проблема, что позволяет точно определить и устранить проблемы с доступностью. Этот интерфейс необходим для эффективной интерпретации и представления результатов проверки доступности.
Объект IError имеет такие значения:
* ErrorType = 1 and Success = false – this means that the error is critical, and the result of the check is not performed.
* ErrorType = 2 and Success = true – this means that the error is not critical but has an informational character and displays hints for possible improvement.
Тип ошибки определяется типом техники:
ErrorType=1 и Success=false, и это будет Error.ErrorType=2 и Success=true, и это будет Warning.Класс
Target представляет конкретный элемент HTML или CSS, в котором при проверке была обнаружена ошибка доступности или предупреждение. Он предоставляет два ключевых свойства: Item, которое возвращает фактический объект (например, HTML-тег или правило CSS), вызвавший проблему, и TargetType, которое определяет, является ли источником проблемы элемент HTML или компонент CSS.
Перечисление TargetTypes определяет возможные типы объектов в HTML-документе, где может быть обнаружена ошибка доступности или предупреждение. Оно помогает классифицировать источник проблемы, что облегчает ее выявление и решение. Перечисление включает три значения:
| Name | Value | Description |
|---|---|---|
| HTMLElement | 0 | The element containing the HTMLElement from a document: standard HTML elements such as <img> or <button>. |
| CSSStyleRule | 1 | The element containing the CSSStyleRule from a document: specific CSS rules in stylesheets. |
| CSSStyleSheet | 2 | The element containing the CSSStyleSheet from a document: entire CSS stylesheets. |
Это перечисление работает в сочетании с классом Target, чтобы точно указать, какой тип элемента вызвал результат проверки.
Давайте рассмотрим Java-код для итерации результатов проверки веб-доступности, обращая особое внимание на критерии отказа и детали методов, которые сообщают об ошибках. Пример получения сведений об ошибках и элементах HTML-документа:
ruleResult, содержащимся в validationResult.getDetails(). Они представляют различные критерии доступности.ruleDetail, содержащиеся в ruleResult.getErrors(). Объекты ITechniqueResult представляют отдельные результаты правил для критерия, в котором были обнаружены ошибки.error из ruleDetail. Объект ruleDetail представляет конкретную проблему доступности, а объект error содержит информацию об этой проблеме.target, связанный с ошибкой. Объект target обычно представляет конкретный элемент HTML, правило CSS или другое содержимое, вызвавшее ошибку доступности.error.getErrorTypeName() и сообщение об ошибке error.getErrorMessage(). 1// Check HTML for WCAG compliance and output failed rule codes and error messages
2
3// Initialize a webAccessibility container
4WebAccessibility webAccessibility = new WebAccessibility();
5
6// Create an accessibility validator with static instance
7// for all rules from repository that match the builder settings
8AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
9
10String documentPath = "input.html";
11
12// Initialize an object of the HTMLDocument class
13final HTMLDocument document = new HTMLDocument(documentPath);
14ValidationResult validationResult = validator.validate(document);
15
16for (RuleValidationResult ruleResult : validationResult.getDetails()) {
17 // list only unsuccessful rule
18 if (!ruleResult.getSuccess()) {
19 // print the code and description of the rule
20 System.out.println(String.format("%s: %s = %s",
21 ruleResult.getRule().getCode(),
22 ruleResult.getRule().getDescription(),
23 ruleResult.getSuccess()
24 ));
25
26 // print the results of methods with errors
27 for (ITechniqueResult ruleDetail : ruleResult.getErrors()) {
28 // print the code and description of the method
29 StringBuilder str = new StringBuilder(String.format("\n{0}: {1} - {2}",
30 ruleDetail.getRule().getCode(),
31 ruleDetail.getSuccess(),
32 ruleDetail.getRule().getDescription()
33 ));
34 // get an error object
35 IError error = ruleDetail.getError();
36 // get a target object
37 Target target = error.getTarget();
38 // get error type and message
39 str.append(String.format("\n\n\t%s : %s",
40 error.getErrorTypeName(),
41 error.getErrorMessage()
42 ));
43
44 if (target != null) {
45 // Checking the type of the contained object for casting and working with it
46 if (target.getTargetType() == TargetTypes.CSSStyleRule) {
47 ICSSStyleRule cssRule = (ICSSStyleRule) target.getItem();
48 str.append(String.format("\n\n\t%s",
49 cssRule.getCSSText()
50 ));
51 }
52 if (ruleDetail.getError().getTarget().getTargetType() == TargetTypes.CSSStyleSheet) {
53 str.append(String.format("\n\n\t%s",
54 ((ICSSStyleSheet) target.getItem()).getTitle()
55 ));
56 }
57 if (ruleDetail.getError().getTarget().getTargetType() == TargetTypes.HTMLElement) {
58 str.append(String.format("\n\n\t%s",
59 ((HTMLElement) target.getItem()).getOuterHTML()
60 ));
61 }
62 }
63 System.out.println(str);
64 }
65 }
66}Для каждого неудачного критерия в коде перечисляются описания правил, неудачных методов, сообщения об ошибках и выделяется точный элемент HTML или CSS, в котором была обнаружена проблема. Такой подход идеально подходит для создания полного и точного отчета о доступности, включая контекст ошибки и техническую диагностику для разработчиков.
Смотрите также
Aspose.HTML предлагает бесплатную онлайн Проверку цветового контраста для оценки коэффициентов контрастности в ваших веб-дизайнах. Этот инструмент позволяет узнать, соответствуют ли выбранные вами цвета стандартам доступности.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.