Правила веб-доступности – Проверка доступности веб-сайта на C#
Aspose.HTML для .NET предоставляет пространство имен Aspose.Html.Accessibility, которое предназначено для всех манипуляций и проверок, связанных с веб-доступностью. В этой статье вы узнаете, как использовать класс AccessibilityRules, который является хранилищем требований WCAG 2.0 и критериев успеха.
Как создать и использовать Accessibility Validator для проверки веб-доступности вы можете узнать из статьи Accessibility Validator – Проверка доступности веб-сайта на C#.
Правила доступности – это набор руководящих принципов, стандартов или передового опыта, которые определяют, как следует проектировать и разрабатывать цифровой контент и интерфейсы, чтобы обеспечить их доступность для людей с ограниченными возможностями. Эти рекомендации призваны сделать цифровой контент, такой как веб-сайты, приложения и мультимедиа, доступным для широкого круга людей, в том числе для людей с нарушениями зрения, слуха, моторики и когнитивных функций. Правила доступности имеют решающее значение для содействия цифровому охвату и обеспечения каждому равного доступа к онлайн-информации и услугам.
Структуру краткого справочника можно представить в виде схемы, которая указана ниже:
Каталог содержит правила, реализующие интерфейс IRule.
Правила веб-доступности
Класс AccessibilityRules представляет собой хранилище требований WCAG 2.0, методов и критериев успеха. Он имеет структуру, соответствующую спецификации WCAG (Quick Reference). Класс имеет внутренний конструктор, поэтому пользователи не могут напрямую создавать объект класса. Для просмотра списка правил необходимо инициализировать контейнер WebAccessibility и использовать свойство Rules.
1 // Initialize a webAccessibility container
2 var webAccessibility = new WebAccessibility();
3
4 // Get the accessibilityRules repository
5 AccessibilityRules accessibilityRules = webAccessibility.Rules;
Свойство Rules возвращает объект типа AccessibilityRules, который имеет такие методы доступа к правилам:
Methods | Description |
---|---|
GetPrinciple(string code ) | Returns 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. Существует несколько типов правил:
- principle
- guideline
- criterion
- technique
IRule
Все правила реализуют интерфейс IRule – это общедоступный интерфейс, определяющий основные свойства правил:
Property | Description |
---|---|
Code | Rule code from the quick reference WCAG. |
Description | Description of Rule from the quick reference WCAG. |
Rule
Базовый абстрактный класс для всех правил, реализующий интерфейс IRule. Чтобы получить любое правило, вы можете использовать метод GetRules():
1 // Initialize a webAccessibility container
2 WebAccessibility webAccessibility = new WebAccessibility();
3
4 // List of rule codes, can contain both technique codes and principles, guidelines and criteria - all rules that implement the interface IRule
5 var rulesCodes = new string[] { "H2", "H37", "H30", "1.1", "1.2.1" };
6
7 // Get a list of IRule objects; if a rule with the specified code is not found, it will not be in the list
8 var rules = webAccessibility.Rules.GetRules(rulesCodes);
9
10 // Get code and description of rule
11 foreach (var rule in rules)
12 Console.WriteLine("{0}:{1}", rule.Code, rule.Description);
Principle
На первом уровне списка правил находятся Principles, они указывают основное направление и цель правил, находящихся в этом разделе. Поэтому работа со справочником начинается именно с них.
Класс Principle унаследован от Rule и также содержит список указаний.
Method | Description |
---|---|
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
2 WebAccessibility webAccessibility = new WebAccessibility();
3
4 // Get the principle by code
5 Principle rule = webAccessibility.Rules.GetPrinciple("1");
6
7 // Get code and description of principle
8 Console.WriteLine("{0}:{1}", rule.Code, rule.Description);
Guideline
Класс Guideline унаследован от Rule и содержит список критериев. Guidelines являются следующим уровнем после Principles. В них очерчены рамки и общие цели, которые помогают авторам понять критерии успеха и лучше применять методы.
Method | Description |
---|---|
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
2 WebAccessibility webAccessibility = new WebAccessibility();
3
4 // Get the principle by code
5 Principle principle = webAccessibility.Rules.GetPrinciple("1");
6
7 // Get guideline 1.1
8 Guideline guideline = principle.GetGuideline("1.1");
9 if (guideline != null)
10 {
11 Console.WriteLine("{0}:{1}", guideline.Code, guideline.Description, guideline);
12 }
Criterion
Класс Criterion описывает критерии успеха WCAG, унаследованные от абстрактного класса Rule. Подробную информацию можно найти здесь – Understanding Techniques for WCAG Success Criteria. Основой для определения соответствия WCAG 2.0 являются критерии успеха стандарта WCAG 2.0, а не методы.
Для каждого Criterion предусмотрены проверяемые критерии успеха, поэтому WCAG 2.0 можно применять в областях, где требуется тестирование на соответствие.
Property | Description |
---|---|
Level | Compliance levels: A (lowest), AA and AAA (highest). |
SufficientTechniques | Returns list of Sufficient techniques that are reliable ways to meet the success criteria. |
AdvisoryTechniques | Returns list of Advisory techniques that are suggested ways to improve accessibility. They are often very helpful to some users, and may be the only way that some users can access some types of content. |
Failures | Returns list of Failures that are things that cause accessibility barriers and fail specific success criteria. |
Критерий содержит список techniques для соответствия рекомендациям WCAG по доступности веб-контента. Если все достаточные методы для данного критерия поддерживаются доступностью, то критерий успеха пройден.
Используйте метод
GetCriterion(string code
) для доступа к критериям из руководства:
1 // Get principle by code
2 Principle principle = webAccessibility.Rules.GetPrinciple("1");
3
4 // Get guideline
5 Guideline guideline = principle.GetGuideline("1.1");
6
7 // Get criterion by code
8 Criterion criterion = guideline.GetCriterion("1.1.1");
9 if (criterion != null)
10 {
11 Console.WriteLine("{0}:{1} - {2}", criterion.Code, criterion.Description, criterion.Level);
12
13 // Get all Sufficient Techniques and write to console
14 foreach (var technique in criterion.SufficientTechniques)
15 Console.WriteLine("{0}:{1}", technique.Code, technique.Description);
16 }