<video> 要素のポイント!
- controls 属性を必ず付与する。省略すると再生・停止・音量調整などのブラウザ標準コントロールが非表示になり、キーボードユーザーやスクリーンリーダーユーザーが操作できなくなる。カスタムコントロールを実装する場合も ARIA とキーボード操作を完全にサポートする必要がある。
- 字幕(<track kind="subtitles">)と音声解説(<track kind="descriptions">)の提供はアクセシビリティの要件。聴覚・視覚に障害のあるユーザーや、音を出せない環境のユーザーへの配慮として重要。WCAG 2.1 では収録済み動画への字幕提供がレベル A(最低基準)で要求される。
- 複数の <source> 要素を使うことでブラウザごとに対応フォーマットを振り分けられる。MP4(H.264)は最も広く対応しているが、WebM(VP9/AV1)は同等画質でファイルサイズが小さい。<source> を列挙し、ブラウザが上から順に対応フォーマットを選ぶ仕組みを活用する。
- autoplay を使う場合は muted 属性とセットで指定する。多くのブラウザは音声付きの自動再生をブロックするが、muted autoplay の組み合わせは許可される。背景動画などの装飾目的の動画には prefers-reduced-motion メディアクエリも考慮する。