Правила веб-доступности – 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// Retrieve and list accessibility rules by code with their descriptions from the rules repository
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// List of rule codes can contain both technique codes and principles,
 7// guidelines and criteria - all rules that implement the interface IRule
 8String[] rulesCodes = new String[]{"H2", "H37", "H30", "1.1", "1.2.1"};
 9
10// Get a list of IRule objects; if a rule with the specified code is not found,
11// it will not be in the list
12List<IRule> rules = webAccessibility.getRules().getRules(rulesCodes);
13
14// Get code and description of rule
15for (IRule rule : rules) {
16    System.out.println(String.format("%s: %s",
17            rule.getCode(),
18            rule.getDescription()
19    ));
20}

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

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// Get accessibility principle by code from WCAG rules in Aspose.HTML for Java
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Get the principle by code
 7Principle rule = webAccessibility.getRules().getPrinciple("1");
 8
 9// Get code and description of principle
10System.out.println(String.format("%s: %s",
11        rule.getCode(),
12        rule.getDescription()
13));
14// @output: 1:Perceivable

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// Get accessibility guideline by code from WCAG principle in Aspose.HTML for Java
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Get the principle by code 
 7Principle principle = webAccessibility.getRules().getPrinciple("1");
 8
 9// Get guideline 1.1
10Guideline guideline = principle.getGuideline("1.1");
11if (guideline != null) {
12    System.out.println(String.format("%s: %s, %s",
13            guideline.getCode(),
14            guideline.getDescription(),
15            guideline
16    ));
17    // @output: 1.1:Text Alternatives
18}

Criterion

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

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

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

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

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

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

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

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

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.