trackとWebVTTによる字幕
trackと.vttファイルで動画にキャプションと字幕を追加します
「trackとWebVTTによる字幕」はCoddyKit上の無料HTML Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHTML Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 HTML Academyコースには全4レッスンが含まれています。
キャプションと字幕
動画のアクセシビリティには、音声コンテンツのテキストによる代替手段が必要です。
- 字幕 — 会話を書き起こしたもので、視聴者が音を聞けることを前提とします
- キャプション — 会話と音の説明を含みます(聴覚障害者向け)
- 音声解説 — 視覚障害者のために映像の内容を説明します
track要素
<track>要素は、字幕またはキャプションのファイルを動画に関連付けます。
<video controls>
<source src="tutorial.mp4" type="video/mp4">
<track
src="tutorial-en.vtt"
kind="subtitles"
srclang="en"
label="English"
default
>
<track
src="tutorial-es.vtt"
kind="subtitles"
srclang="es"
label="Spanish"
>
</video>track属性
track要素の属性:
src— VTTファイルへのパスkind— トラックの種類(subtitles、captions、descriptions、chapters、metadata)srclang— BCP 47言語コード(en、es、frなど)label— CCメニューに表示する、人が読める名前default— 真偽値。デフォルトでこのトラックを表示します
WebVTT形式
WebVTT(Web Video Text Tracks)は、字幕ファイルの形式です。
WEBVTT
00:00:01.000 --> 00:00:04.000
Hello and welcome to the HTML5 tutorial.
00:00:04.500 --> 00:00:08.000
In this lesson, we'll cover the video element
and how to add subtitles.
00:00:09.000 --> 00:00:12.000
[Keyboard click sounds]
Let's look at a code example...VTTキュー識別子
VTTキューには、オプションの識別子を付けられます。
WEBVTT
intro-1
00:00:01.000 --> 00:00:04.000
Welcome to the tutorial.
intro-2
00:00:04.500 --> 00:00:08.000
We'll cover HTML5 video today.
00:00:09.000 --> 00:00:12.000
No identifier on this cue — that is fine.VTTキュー設定
VTTキューでは、位置に関する設定を指定できます。
WEBVTT
00:00:01.000 --> 00:00:04.000 position:10% align:left
This text is positioned at the left.
00:00:05.000 --> 00:00:08.000 line:10%
This text appears near the top.
00:00:09.000 --> 00:00:12.000 size:50% position:75%
A smaller caption on the right.CSSによるWebVTTキューのスタイル設定
::cue疑似要素でキューボックスのスタイルを設定します。
/* Style all cues: */
::cue {
background-color: rgba(0, 0, 0, 0.8);
color: white;
font-size: 1.2rem;
font-family: 'Arial', sans-serif;
padding: 0.2em 0.5em;
border-radius: 4px;
}
/* Style specific voice tags: */
::cue(v[voice="Teacher"]) {
color: #60a5fa;
}trackのkindの値
kind属性は、テキストトラックの目的を指定します。
subtitles— 会話の翻訳または書き起こしcaptions— 聴覚障害者向けの会話と音の説明descriptions— 視覚障害者向けの映像内容の音声解説chapters— ナビゲーション用のチャプタータイトルmetadata— JavaScriptで利用する機械可読データ
チャプタートラック
動画のチャプターナビゲーションにはkind=chaptersを使用します。
<track
kind="chapters"
src="chapters.vtt"
srclang="en"
label="Chapters"
>
<!-- chapters.vtt: -->
<!--
WEBVTT
00:00:00.000 --> 00:01:30.000
Introduction
00:01:30.000 --> 00:05:00.000
HTML Document Structure
00:05:00.000 --> 00:10:00.000
Forms and Input
-->JavaScript TextTrack API
TextTrack APIでトラックデータにアクセスします。
const video = document.getElementById('tutorial');
const tracks = video.textTracks;
// Enable a track:
tracks[0].mode = 'showing'; // 'hidden', 'showing', or 'disabled'
// Listen for active cue changes:
tracks[0].addEventListener('cuechange', function() {
const cue = this.activeCues[0];
if (cue) console.log('Current cue:', cue.text);
});インタラクティブ動画用メタデータトラック
メタデータトラックを使うと、特定の時刻にJavaScriptイベントを発生させられます。
<track kind="metadata" src="interactive.vtt" id="meta-track">
<script>
video.textTracks[0].mode = 'hidden';
video.textTracks[0].addEventListener('cuechange', function() {
const cue = this.activeCues[0];
if (cue) {
const data = JSON.parse(cue.text);
// Trigger quiz, show annotation, etc.
showAnnotation(data);
}
});
</script>アクセシビリティ要件
WCAGでは、録画済み動画にキャプションを付けることが求められます。
- レベルA — 音声を含むすべての録画済み動画にキャプションを付けます
- レベルAA — すべての録画済み動画に音声解説を付けます
- 自動生成されたキャプション(YouTube)は、確認なしでは不十分です
- キャプションは正確で、同期され、完全でなければなりません
クイックチェック
subtitlesとcaptionsというtrackの種類には、どのような違いがありますか。
まとめ:trackとWebVTT
字幕とキャプションの必須事項:
- video内に
<track src kind srclang label default>を記述します - kind:subtitles、captions、descriptions、chapters、metadata
- WebVTTファイル形式:WEBVTT + timestamp --> timestamp + text
::cueCSS疑似要素でキューのスタイルを設定します- WCAGでは、録画済み動画にキャプションを付けることが求められます
よくある質問
「trackとWebVTTによる字幕」レッスンは無料ですか?
はい。「trackとWebVTTによる字幕」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、HTML Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 HTML Academyコースには全4レッスンが含まれています。
「trackとWebVTTによる字幕」で何を学びますか?
trackと.vttファイルで動画にキャプションと字幕を追加します ブラウザで直接実行するハンズオンコードでHTML Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
HTML Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのHTML Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「trackとWebVTTによる字幕」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このHTML Academyレッスンでコードを書いて実行できますか?
はい。すべてのHTML Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- audio要素のsrc controls loop autoplay
- video要素とアスペクト比
- 複数形式に対応するsource要素
- trackとWebVTTによる字幕