Acessibilidade de mídia

Derek herman
Derek Herman
Joe medley
Joe Medley

Neste artigo, você aprenderá sobre o formato WebVTT (faixas de texto de vídeo da Web), que é usado para descrever dados de texto com marcação de tempo, como closed captions ou legendas, para tornar os vídeos mais acessíveis ao seu público.

A acessibilidade não é como a cereja de um bolo. Nunca é nada que você coloca em um backlog com a esperança de apresentá-lo mais tarde. Legendas e descrições de leitores de tela são a única maneira de muitos usuários visualizarem seus vídeos e, em algumas jurisdições, elas são até mesmo exigidas por lei ou regulamentação.

Adicionar <track> tags

Para adicionar legendas ou descrições de leitores de tela a um vídeo da Web, adicione uma tag <track> a uma tag <video>. Além das legendas e descrições do leitor de tela, as tags <track> também podem ser usadas para legendas e títulos de capítulos. A tag <track> também pode ajudar os mecanismos de pesquisa a entender o conteúdo de um vídeo. No entanto, esses recursos estão fora do escopo deste artigo.

Captura de tela mostrando legendas exibidas usando o elemento &quot;track&quot; no Chrome para Android
Captura de tela que mostra as legendas mostradas usando o elemento "track" no Chrome para Android

A tag <track> é semelhante ao elemento <source>, porque ambos têm um atributo src que aponta para o conteúdo referenciado. Para uma tag <track>, ela aponta para um arquivo WebVTT. O atributo label especifica como uma faixa específica será identificada na interface.

Para fornecer faixas em vários idiomas, adicione uma tag <track> separada para cada arquivo WebVTT que você fornecer e indique o idioma usando o atributo srclang.

Um exemplo de tag <video> com duas tags <track> é mostrado abaixo. Há também um exemplo que você pode acessar no Glitch (fonte).

Adicione um elemento <track> como filho do elemento <video>:

<video controls>
  <source src="https://storage.googleapis.com/webfundamentals-assets/videos/chrome.webm" type="video/webm" />
  <source src="https://storage.googleapis.com/webfundamentals-assets/videos/chrome.mp4" type="video/mp4" />
  <track src="chrome-subtitles-en.vtt" label="English captions" kind="captions" srclang="en" default>
  <track src="chrome-subtitles-zh.vtt" label="中文字幕" kind="captions" srclang="zh">
  <p>This browser does not support the video element.</p>
</video>

Estrutura de arquivos WebVTT

Confira abaixo um arquivo WebVTT hipotético para a demonstração vinculada acima. Ele é um arquivo de texto contendo uma série de cues. Cada dica é um bloco de texto a ser mostrado na tela e o período em que ele será mostrado.

WEBVTT

00:00.000 --> 00:04.999
Man sitting on a tree branch, using a laptop.

00:05.000 --> 00:08.000
The branch breaks, and he starts to fall.

...

Cada item no arquivo de faixa é chamado de cue. Cada cue tem um horário de início e um de término separados por uma seta, com o texto do cue na linha abaixo. Como opção, os indicadores também podem ter IDs como railroad e manuscript no exemplo abaixo. Os sinais são separados por uma linha vazia.

WEBVTT

railroad
00:00:10.000 --> 00:00:12.500
Left uninspired by the crust of railroad earth

manuscript
00:00:13.200 --> 00:00:16.900
that touched the lead to the pages of your manuscript.

Os tempos de indicação estão no formato hours:minutes:seconds.milliseconds. A análise é rigorosa. Ou seja, os números precisam ser preenchidos com zeros, se necessário: horas, minutos e segundos precisam ter dois dígitos (00 para um valor zero) e milissegundos precisam ter três dígitos (000 para um valor zero). Há um excelente validador de WebVTT no Live WebVTT Validator, que verifica se há erros na formatação do tempo e problemas como tempos não sequenciais.

Você pode criar um arquivo VTT manualmente, já que existem muitos serviços que criam esse arquivo para você.

Como você pode notar em nossos exemplos anteriores, o formato WebVTT é bem simples. Basta adicionar seus dados de texto com marcações de tempo.

No entanto, e se você quiser que as legendas sejam renderizadas em uma posição diferente com alinhamento à esquerda ou à direita? Talvez para alinhar as legendas à posição do locutor atual ou evitar o texto na câmera. WebVTT define configurações para fazer isso e muito mais diretamente no arquivo .vtt. Confira como o posicionamento da legenda é definido adicionando configurações após as definições do intervalo de tempo.

WEBVTT

00:00:05.000 --> 00:00:10.000 line:0 position:20% size:60% align:start
The first line of the subtitles.

Outro recurso útil é a capacidade de definir o estilo dos estímulos usando CSS. Talvez você queira usar um gradiente linear cinza como plano de fundo, com uma cor de primeiro plano de papayawhip para todas as legendas e todo o texto em negrito peachpuff.

video::cue {
  background-image: linear-gradient(to bottom, dimgray, lightgray);
  color: papayawhip;
}

video::cue(b) {
  color: peachpuff;
}

Se quiser saber mais sobre o estilo e a marcação de dicas individuais, a especificação WebVTT é uma boa fonte de exemplos avançados.

Tipos de faixas de texto

Você percebeu o atributo kind do elemento <track>? Ele é usado para indicar a relação entre uma faixa de texto específica e o vídeo. Os valores possíveis do atributo kind são:

  • captions: para legendas de transcrições e possivelmente traduções de qualquer áudio. Adequado para deficientes auditivos e nos casos em que o vídeo está sem som.
  • subtitles: para legendas, ou seja, traduções de fala e texto em um idioma diferente do idioma principal do vídeo.
  • descriptions: para descrições de partes visuais do conteúdo de vídeo. Adequado para pessoas com deficiência visual.
  • chapters: aparece quando o usuário está navegando no vídeo.
  • metadata: não visível e pode ser usado por scripts.

Agora que você entende os conceitos básicos de como disponibilizar um vídeo e torná-lo acessível na sua página da Web, talvez se pergunte sobre casos de uso mais complexos. A seguir, você saberá mais sobre os frameworks de mídia e como eles podem ajudar a adicionar vídeos à sua página da Web enquanto fornecem recursos avançados.