5.7 KiB
5.7 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
587d7789367417b2b2512aa4 | Improve Accessibility of Audio Content with the audio Element | 0 | Улучшить доступность аудиоконтента со звуковым элементом |
Description
audio
элемент дает смысловое значение, когда он оборачивает звук или аудио поток контента в разметке. Аудиоконтент также нуждается в текстовой альтернативе, доступной для людей, которые являются глухими или слабослышащими. Это можно сделать рядом с текстом на странице или ссылкой на стенограмму. audio
тег поддерживает атрибут controls
. Это показывает воспроизведение по умолчанию в браузере, паузу и другие элементы управления и поддерживает функциональность клавиатуры. Это логический атрибут, то есть он не нуждается в значении, его присутствие на теге включает настройку. Вот пример: <audio id = "meowClip" элементы управления>Заметка
<источник src = "audio / meow.mp3" type = "audio / mpeg" />
<источник src = "audio / meow.ogg" type = "audio / ogg" />
</ Аудио>
Мультимедийный контент обычно имеет как визуальные, так и звуковые компоненты. Для этого нужны синхронизированные подписи и расшифровка стенограммы, чтобы пользователи с визуальными и / или слуховыми нарушениями могли получить к ней доступ. Как правило, веб-разработчик не несет ответственности за создание титров или расшифровки, но должен знать, чтобы их включать.
Instructions
audio
элемент после p
. Включите атрибут controls
. Затем поместите source
тег внутри audio
тегов с атрибутом src
установленным на «https://s3.amazonaws.com/freecodecamp/screen-reader.mp3», и type
атрибут «audio / mpeg». Заметка Звуковой клип может звучать быстро и быть трудно понятен, но это обычная скорость для пользователей с экрана.
Tests
tests:
- text: В вашем коде должен быть один <code>audio</code> тег.
testString: 'assert($("audio").length === 1, "Your code should have one <code>audio</code> tag.");'
- text: 'Убедитесь, что ваш <code>audio</code> имеет закрывающий тег.'
testString: 'assert(code.match(/<\/audio>/g).length === 1 && code.match(/<audio.*>[\s\S]*<\/audio>/g), "Make sure your <code>audio</code> element has a closing tag.");'
- text: <code>audio</code> тег должен иметь атрибут <code>controls</code> .
testString: 'assert($("audio").attr("controls"), "The <code>audio</code> tag should have the <code>controls</code> attribute.");'
- text: Ваш код должен иметь один тег <code>source</code> .
testString: 'assert($("source").length === 1, "Your code should have one <code>source</code> tag.");'
- text: Ваш тег <code>source</code> должен находиться внутри <code>audio</code> тегов.
testString: 'assert($("audio").children("source").length === 1, "Your <code>source</code> tag should be inside the <code>audio</code> tags.");'
- text: Значение атрибута <code>src</code> в теге <code>source</code> должно точно соответствовать ссылке в инструкциях.
testString: 'assert($("source").attr("src") === "https://s3.amazonaws.com/freecodecamp/screen-reader.mp3", "The value for the <code>src</code> attribute on the <code>source</code> tag should match the link in the instructions exactly.");'
- text: Ваш код должен включать атрибут <code>type</code> в тег <code>source</code> со значением audio / mpeg.
testString: 'assert($("source").attr("type") === "audio/mpeg", "Your code should include a <code>type</code> attribute on the <code>source</code> tag with a value of audio/mpeg.");'
Challenge Seed
<body>
<header>
<h1>Real Coding Ninjas</h1>
</header>
<main>
<p>A sound clip of Zersiax's screen reader in action.</p>
</main>
</body>
Solution
// solution required