Веб-доступность Мультимедиа – примеры C#

Доступные мультимедиа

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

Доступные мультимедиа настроены для вспомогательных технологий. Это означает, что слепым больше не придется полагаться на то, что другие будут им читать. Они просто открывают браузер и самостоятельно взаимодействуют с контентом, поскольку программное обеспечение для чтения с экрана предназначено для чтения онлайн-контента вслух.

Без подписи к аудиофайлу глухие люди не смогут распознать содержательную информацию, которую передает аудиофайл. Но субтитры, если они хорошо написаны и синхронизированы с аудиоконтентом, обеспечивают описание важных визуальных деталей и действий в мультимедиа.

Мы уже рассказывали, как проверить замещающий текст для изображений, кнопок и т. д., в статье Альтернативный Текст – Веб-доступность. Здесь мы рассмотрим важность использования элемента <track> для веб-доступности мультимедиа.

Элемент <track> для предоставления описания аудио и видео

Видеоконтент не может быть просмотрен людьми с нарушениями зрения, а аудиоконтент не может быть услышан людьми с нарушениями слуха. Основная цель элемента <track> – предоставить титры и субтитры для видео- и аудиоконтента. Хотя он не предназначен для непосредственного предоставления аудиоописаний, его можно использовать в сочетании с другими методами, чтобы сделать аудиоописания доступными для людей с нарушениями зрения.

Субтитры к видео

Использование замещающего текста видео не является стандартной или рекомендуемой практикой в ​​HTML. Атрибут alt в основном используется для предоставления альтернативного текста изображениям и не предназначен для элементов <video>. Однако существуют альтернативные подходы к обеспечению доступности видеоконтента. Субтитры в видео включают текстовое описание всех основных фоновых шумов и других звуков, а также текст всех диалогов и повествования. Элемент <video> должен включать элемент <track> со свойством kind="captions". Субтитры должны передавать всю необходимую звуковую информацию в видео, включая диалоги, музыкальные реплики, звуковые эффекты и другие важные данные для глухих пользователей.

Вот как вы можете использовать элемент <track> для доступности мультимедиа:

1<video poster="myvideo.png" controls>
2    <source src="myvideo.mp4" srclang="en" type="video/mp4">
3    <source src="myvideo.webm" srclang="fr" type="video/webm">
4    <source src="myvideo.webm" srclang="ua" type="video/webm"> 
5    <track src="myvideo_en.vtt" kind="captions" srclang="en" label="English">
6    <track src="myvideo_fr.ttml" kind="captions" srclang="fr" label="French">
7    <track src="mvideo_ua.vtt" kind="captions" srclang="ua" label="Ukrainian">
8</video>

Давайте посмотрим на строку 5 HTML-кода. Атрибут src элемента <track> определяет имя файла дорожки и указывает на файл WebVTT (“myvideo_en.vtt”), содержащий титры или субтитры. Атрибут kind описывает содержимое файла. Атрибут srclang определяет язык файла трека. Атрибут label указывает имя трека. Ни один из этих атрибутов, кроме src, не является обязательным. Тем не менее, их настоятельно рекомендуется использовать, поскольку они улучшают ясность и доходчивость.

Субтитры к аудио

Убедитесь, что все элементы с аудиоконтентом на веб-сайте имеют подпись, используя элемент <track> со свойством kind="captions". Субтитры представляют собой текст диалога, повествования и любой важной звуковой информации, синхронизированный с аудиофайлом, для глухих пользователей. Следующий код показывает, как добавить две разные дорожки – одну на английском и одну на испанском языке:

1<audio>
2   <source src="mySpeech.mp3" type="audio/mp3">
3   <track src="captions_en.vtt" kind="captions" srclang="en" label="english_captions">
4   <track src="captions_es.vtt" kind="captions" srclang="es" label="spanish_captions">
5</audio>

Аудиоописание для элементов <video>

Добавление аудиоописаний к элементам <video> – это важнейшая практика обеспечения доступности, гарантирующая, что люди с нарушениями зрения смогут полностью понять видеоконтент и насладиться им. Хотя слепые люди могут без проблем слышать аудиоконтент видео, они упускают из виду визуальные аспекты фильмов, такие как выражение лица и сцены. Многие вещи в фильмах происходят полностью визуально, без звукового компонента. Например, человек может что-то передавать мимикой, но не говорить. Аудиоописания предоставляют повествовательную информацию о визуальных элементах видео, таких как сцены, действия и жесты.

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

1<video width="300" height="200">
2    <source src="myVideo.mp4" type="video/mp4">
3    <track src="audio_desc_en.vtt" kind="descriptions" srclang="en" label="english_description">
4    <track src="audio_desc_es.vtt" kind="descriptions" srclang="es" label="spanish_description">
5</video>

Проверьте доступность мультимедиа с помощью Aspose.HTML

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

  1. Используйте конструктор WebAccessibility(), чтобы создать экземпляр класса WebAccessibility, ответственного за проверку веб-доступности.
  2. Используйте свойство Rules объекта webAccessibility, которое обеспечивает доступ к набору правил веб-доступности.
    • Вызовите метод GetPrinciple() класса AccessibilityRules и метод GetGuideline() класса Principle, чтобы получить требуемый принцип по коду из WCAG.
  3. Вызовите метод CreateValidator(), чтобы создать объект валидатора. По сути, вы настраиваете валидатор, который будет проверять веб-контент на соответствие конкретным рекомендациям по доступности и критериям успеха, связанным с указанным вами руководством.
  4. Загрузите HTML-документ, используя один из конструкторов HTMLDocument().
  5. Используйте метод Validate(document), чтобы проверить HTML-документ на доступность. Результат сохраняется в переменной validationResult.
  6. Проверьте, прошла ли проверка успешно. Распечатайте подробную информацию об ошибках, включая связанный элемент HTML.

В этом примере вы можете проверить HTML-документ на соответствие всем критериям рекомендации «1.2 Time-based Media».

 1using Aspose.Html;
 2using Aspose.Html.Accessibility;
 3using System.IO;
 4...
 5    // Initialize a webAccessibility container
 6    var webAccessibility = new Aspose.Html.Accessibility.WebAccessibility();
 7
 8    // Get from the rules list Principle "1.Perceivable" by code "1" and get guideline "1.2 Time-based Media"
 9    var guideline = webAccessibility.Rules.GetPrinciple("1").GetGuideline("1.2");
10
11    // Create an accessibility validator, pass the found guideline as parameters, and specify the full validation settings
12    var validator = webAccessibility.CreateValidator(guideline, ValidationBuilder.All);
13
14    // Initialize an object of the HTMLDocument class
15    using (var document = new HTMLDocument("https://products.aspose.com/html/net/generators/video/"))
16    {
17        // Check the document
18        var validationResult = validator.Validate(document);
19
20        // Checking for success
21        if (!validationResult.Success)
22        {
23            // Get all result details
24            foreach (var ruleResult in validationResult.Details)
25            {
26                // If the result of the rule is unsuccessful
27                if (!ruleResult.Success)
28                {
29                    // Get errors list
30                    foreach (var result in ruleResult.Errors)
31                    {
32                        // Check the type of the erroneous element
33                        if (result.Error.Target.TargetType == TargetTypes.HTMLElement)
34                        {
35                            var rule = (HTMLElement)result.Error.Target.Item;
36                            Output.WriteLine("Error in rule {0} : {1}", result.Rule.Code, result.Error.ErrorMessage);
37                            Output.WriteLine("HTML Element: {0}", rule.OuterHTML);
38                        }
39                    }
40                }
41            }
42        }
43    }

Чтобы проверить, например, наличие аудиоописания, необходимо выбрать нужный критерий и произвести по нему проверку.

 1    // Get from the rules list Principle "1.Perceivable" by code "1" and get guideline "1.2 Time-based Media"
 2    var guideline = webAccessibility.Rules.GetPrinciple("1").GetGuideline("1.2");
 3
 4    // Get criterion – 1.2.3 Audio Description or Media Alternative (Prerecorded)
 5    var criterion = guideline.GetCriterion("1.2.3");
 6    
 7    // Create an accessibility validator – and pass the found guideline as parameters and specify the full validation settings
 8    var validator = webAccessibility.CreateValidator(criterion, ValidationBuilder.All);
 9
10    ...

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

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.