Правила веб-доступности – Principles, Guidelines, Criterions, Techniques

Aspose.HTML for Java предоставляет пакет com.aspose.html.accessibility, который предназначен для всех манипуляций и проверок, связанных с веб-доступностью. В этой статье вы узнаете, как использовать класс AccessibilityRules, который представляет собой хранилище требований, критериев успеха и методик WCAG 2.0.

Правила доступности – это набор рекомендаций, стандартов или лучших практик, которые определяют, как проектировать и разрабатывать цифровой контент, такой как веб-сайты, приложения и медиа, чтобы обеспечить его использование людьми с ограниченными возможностями. Эти правила помогают сделать работу в Интернете доступной для людей с нарушениями зрения, слуха, двигательных или когнитивных функций, способствуя цифровой инклюзии и обеспечивая равный доступ к информации, услугам и технологиям для всех.

Структуру краткого справочника правил веб-доступности можно представить в виде схемы, которая приведена ниже:

Текст “Структура правил веб-доступности – принципы, рекомендации и критерии”.

Правила доступности

Класс AccessibilityRules представляет собой хранилище требований, критериев успеха и методик WCAG 2.0 и имеет структуру, соответствующую спецификации WCAG (Quick Reference). Чтобы просмотреть список правил, необходимо инициализировать контейнер WebAccessibility и использовать свойство Rules.

Свойство возвращает объект типа AccessibilityRules, который имеет такие методы для доступа к правилам:

MethodsDescription
getPrinciple(string code)Returns a Principle object by code from WCAG.
getPrinciples()Returns a list of principles IList<Principle>.
getRules(params string[] codes)Returns a list of rules IList< IRule> for given codes from WCAG.

Каталог содержит правила, которые наследуются от абстрактного класса Rule. Существует несколько типов правил:

IRule

Все правила реализуют интерфейс IRule – это общедоступный интерфейс, определяющий основные свойства правил:

PropertyDescription
CodeRule code from the quick reference WCAG.
DescriptionDescription of Rule from the quick reference WCAG.

Rule

Базовый абстрактный класс для всех правил, реализующий интерфейс IRule. Чтобы получить любое правило, можно использовать метод getRules():

 1// Initialize a webAccessibility container
 2WebAccessibility webAccessibility = new WebAccessibility();
 3
 4// List of rule codes can contain both technique codes and principles,
 5// guidelines and criteria - all rules that implement the interface IRule
 6String[] rulesCodes = new String[]{"H2", "H37", "H30", "1.1", "1.2.1"};
 7
 8// Get a list of IRule objects; if a rule with the specified code is not found,
 9// it will not be in the list
10List<IRule> rules = webAccessibility.getRules().getRules(rulesCodes);
11
12// Get code and description of rule
13for (IRule rule : rules) {
14    System.out.println(String.format("%s: %s",
15            rule.getCode(),
16            rule.getDescription()
17    ));
18}
Example_GetRules hosted with ❤ by GitHub

Программа выведет данные в консоль:

1    H2:Combining adjacent image and text links for the same resource
2    H37:Using alt attributes on img elements
3    H30:Providing link text that describes the purpose of a link for anchor elements
4    1.1:Text Alternatives
5    1.2.1:Audio-only and Video-only (Prerecorded)

Principle

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

Класс Principle унаследован от Rule и также содержит список рекомендаций.

MethodDescription
getGuideline(string code)Get Guideline by code from WCAG, contained in principle. Return Guideline object.
getGuidelines()Get a list of Guideline from Principle. Return IList< Guideline> object.

Пример того, как получить объект Principle из списка правил:

 1// Initialize a webAccessibility container
 2WebAccessibility webAccessibility = new WebAccessibility();
 3
 4// Get the principle by code
 5Principle rule = webAccessibility.getRules().getPrinciple("1");
 6
 7// Get code and description of principle
 8System.out.println(String.format("%s: %s",
 9        rule.getCode(),
10        rule.getDescription()
11));
12// @output: 1:Perceivable
Example_GetPrinciple hosted with ❤ by GitHub

Guideline

Класс Guideline унаследован от Rule и содержит список критериев. Guidelines – это следующий уровень после принципов. Они описывают рамки и общие цели, которые помогают авторам понять критерии успеха и лучше применять техники.

MethodDescription
getCriterion(string code)Get Guideline by code from WCAG, contained in current Guideline. Return Criterion object.
getCriterions()Get a list of Criterion from current Guideline. Return IList< Criterion> object.

Пример получения объекта Guideline из списка правил:

 1// Initialize a webAccessibility container
 2WebAccessibility webAccessibility = new WebAccessibility();
 3
 4// Get the principle by code
 5Principle principle = webAccessibility.getRules().getPrinciple("1");
 6
 7// Get guideline 1.1
 8Guideline guideline = principle.getGuideline("1.1");
 9if (guideline != null) {
10    System.out.println(String.format("%s: %s, %s",
11            guideline.getCode(),
12            guideline.getDescription(),
13            guideline
14    ));
15    // @output: 1.1:Text Alternatives
16}
Example_GetGuideline hosted with ❤ by GitHub

Criterion

Класс Criterion описывает критерии успеха WCAG, унаследованные от абстрактного класса Rule. Подробную информацию можно найти здесь – Understanding Techniques for WCAG Success Criteria. Основой для определения соответствия WCAG 2.0 являются критерии успеха из стандарта. Критерий содержит список techniques для выполнения требований WCAG по доступности веб-контента. Если все достаточные методы для данного критерия поддерживают доступность, то критерий успеха пройден.

Используйте метод getCriterion(code) для доступа к критериям из руководства:

 1// Initialize a webAccessibility container
 2WebAccessibility webAccessibility = new WebAccessibility();
 3
 4// Get the principle by code
 5Principle principle = webAccessibility.getRules().getPrinciple("1");
 6
 7// Get guideline
 8Guideline guideline = principle.getGuideline("1.1");
 9
10// Get criterion by code
11Criterion criterion = guideline.getCriterion("1.1.1");
12if (criterion != null) {
13    System.out.println(String.format("%s: %s - %s",
14            criterion.getCode(),
15            criterion.getDescription(),
16            criterion.getLevel()
17    ));
18    // @output: 1.1.1:Non-text Content - A
19
20    // Get all Sufficient Techniques and write to console
21    for (IRule technique : criterion.getSufficientTechniques())
22        System.out.println(String.format("%s: %s",
23                technique.getCode(),
24                technique.getDescription()
25        ));
26}
Example_GetCriterion hosted with ❤ by GitHub

Проверка HTML на соответствие определенным правилам веб-доступности

Этот код демонстрирует, как проверить HTML-документ на веб-доступность с помощью заданного набора правил.

 1String htmlPath = "input.html";
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// List of necessary rules for checking (rule code according to the specification)
 7String[] rulesCode = new String[]{"H2", "H37", "H67", "H86"};
 8
 9// Get the required IList<Rule> rules from the rules reference
10List<IRule> rules = webAccessibility.getRules().getRules(rulesCode);
11
12// Create an accessibility validator, pass the found rules as parameters,
13// and specify the full validation settings
14AccessibilityValidator validator = webAccessibility.createValidator(
15        rules, ValidationBuilder.getAll());
16
17// Initialize an object of the HTMLDocument
18final HTMLDocument document = new HTMLDocument(htmlPath);
19// Check the document
20ValidationResult validationResult = validator.validate(document);
21
22// Return the result in string format
23// SaveToString - return only errors and warnings
24System.out.println(validationResult.saveToString());

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

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

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.