HTML <track> tagS2C Home   « HTML <track> tag

Definition

The <track> element is a self closing tag which is used to define timed text tracks for captions, chapters, descriptions, metadata and subtitles.

The <track> tag was introduced in HTML5.

Example


<video controls src="../pages/HD0405.mp4" width="200" height="200">
  <track src="../pages/example_en.vtt" kind="subtitles" label="English subtitles" srclang="en">
  Sorry, your browser doesn't support embedded videos.
</video>

Contents of Example_en.vtt file

WEBVTT  

1
00:00:01.000 --> 00:00:03.000
Contents of example_en.vtt file

2
00:00:04.000 --> 00:00:07.000
Example_en.vtt file specified using 'track' element

3
00:00:08.000 --> 00:00:10.000
Using the 'track' element we can provide subtitles for video

Required Attributes

src attribute specifies the URL where the track is located.


<track src="../pages/HD0405.mp4">

Optional Attributes

default - specifies a track is to be enabled if user preferences do not indicate a more appropriate one.


<track class="classname">

kind - specifies a track is to be enabled if user preferences do not indicate a more appropriate one.


<!-- Valid values are captions, chapters, descriptions, metadata and subtitles.  -->
<script kind="subtitles" src="../js/jquery.js"></script>

label - specifies a title for the track in a readable format.


<track label="English subtitles">

srclang - specifies the language of the text track which must be a valid BCP 47 language tag.

Mandatory when the kind attribute is subtitles.


<track class="classname">

Global Attributes

Common

class - specifies a classname for the element allowing you to apply the style of the predefined class to the content.


<track class="classname">

id - specifies a unique id for the element allowing you to apply the style of the predefined id to the content.


<track id="idname">

style - specifies an inline style for the element allowing you to apply the style to the content.


<track style="color:red;text-align:left">

title - specifies extra information about the content.


<track title="information about the content">

Keyboard

accesskey - specifies a keyboard shortcut to associate with the element.


<track accesskey="aKeyValue">

tabindex - specifies a tab order for the element.


<track tabindex="someNumber">

Language

dir - specifies the directional flow of the content.


<track dir="ltr">   <!-- The text will flow from left to right -->
<track dir="rtl">   <!-- The text will flow from right to left -->

lang - specifies a language code for the content of the element.


<track lang="en">

xml:lang - specifies a language code for the content of the element in XHTML documents.


<track xml:lang="fr">

spellcheck - specifies whether the element is to have its spelling checked.


<!-- Valid values are true and  false - default is inherited / browser specific. -->
<track spellcheck="true">

translate - specifies whether the content of the element can be translated.


<!-- Valid values are yes and  no - default is yes. -->
<track translate="no"> 

Miscellaneous

contenteditable - specifies whether the content of the element is editable.


<!-- Valid values are true and  false - default is inherited. -->
<track contenteditable="false">Audio content here</audio> 

draggable - specifies whether the the element is draggable.

Only text selections, images, and links can be dragged.


<!-- Valid values are true and  false - default is browser specific. -->
<track draggable="true">Audio content here</audio>

hidden - specifies whether the element is not yet, or no longer, relevant.


<!-- Valid values are an empty string or hidden -->
<track hidden> 
<track hidden="hidden"> 

Event Attributes

Document

onabort - The JavaScript code to be run on abort.


<track onabort="go()">   <!-- Executes the go() function -->

onerror - The JavaScript code to be run when an error occurs when the file is being loaded.


<track onerror="go()">   <!-- Executes the go() function -->

onload - The JavaScript code to be run when the document is loaded.


<track onload="go()">   <!-- Executes the go() function -->

onresize - The JavaScript code to be run when the browser window is resized.


<track onresize="go()">   <!-- Executes the go() function -->

onscroll - The JavaScript code to be run when the scrollbar of an element is being scrolled.


<track onscroll="go()">   <!-- Executes the go() function -->

onunload - The JavaScript code to be run once a page has unloaded or the browser window has been closed.


<track onunload="go()">   <!-- Executes the go() function -->

Document Element

oncopy - The JavaScript code to be run when the user copies the content of an element.


<track oncopy="go()">   <!-- Executes the go() function -->

oncut - The JavaScript code to be run when the user cuts the content of an element.


<track oncut="go()">   <!-- Executes the go() function -->

onpaste - The JavaScript code to be run when the user pastes some content into an element.


<track onpaste="go()">   <!-- Executes the go() function -->

Drag and Drop

ondrag - The JavaScript code to be run when an element is dragged.


<track ondrag="go()">   <!-- Executes the go() function -->

ondragend - The JavaScript code to be run when an element has stopped being dragged.


<track ondragend="go()">   <!-- Executes the go() function -->

ondragenter - The JavaScript code to be run when an element has been dragged to a valid drop target.


<track ondragenter="go()">   <!-- Executes the go() function -->

ondragleave - The JavaScript code to be run when an element leaves a valid drop target.


<track ondragleave="go()">   <!-- Executes the go() function -->

ondragover - The JavaScript code to be run when an element is being dragged over a valid drop target.


<track ondragover="go()">   <!-- Executes the go() function -->

ondragstart - The JavaScript code to be run at the start of a drag operation.


<track ondragstart="go()">   <!-- Executes the go() function -->

ondrop - The JavaScript code to be run when dragged element is being dropped.


<track ondrop="go()">   <!-- Executes the go() function -->

Form

onblur - The JavaScript code to be run on abort.


<track onblur="go()">   <!-- Executes the go() function -->

onchange - The JavaScript code to be run when object changed and attempt to leave field.


<track onchange="go()">   <!-- Executes the go() function -->

oncontextmenu - The JavaScript code to be run when a context menu is triggered.


<track oncontextmenu="go()">   <!-- Executes the go() function -->

onfocus - The JavaScript code to be run when the element gets focus.


<track onfocus="go()">   <!-- Executes the go() function -->

oninput - The JavaScript code to be run when an element gets user input.


<track oninput="go()">   <!-- Executes the go() function -->

oninvalid - The JavaScript code to be run when an element is invalid.


<track oninvalid="go()">   <!-- Executes the go() function -->

onreset - The JavaScript code to be run when the reset button of a form is clicked.


<track onreset="go()">   <!-- Executes the go() function -->

onselect - The JavaScript code to be run when some or all of the contents of an object are selected.


<track onselect="go()">   <!-- Executes the go() function -->

onsubmit - The JavaScript code to be run when a form is submitted.


<track onsubmit="go()">   <!-- Executes the go() function -->

Keyboard

onkeydown - The JavaScript code to be run when an element is in focus and keyboard key is pressed.


<track onkeydown="go()">   <!-- Executes the go() function -->

onkeypress - The JavaScript code to be run when an element is in focus and keyboard key is pressed down and released.


<track onkeypress="go()">   <!-- Executes the go() function -->

onkeyup - The JavaScript code to be run when an element is in focus and keyboard key is released.


<track onkeyup="go()">   <!-- Executes the go() function -->

Media

oncanplay - The JavaScript code to be run when a file has buffered enough so it is ready to start playing.


<track oncanplay="go()">   <!-- Executes the go() function -->

oncanplaythrough - The JavaScript code to be run when a file can be played all the way to the end without further need of buffering.


<track oncanplaythrough="go()">   <!-- Executes the go() function -->

oncuechange - The JavaScript code to be run when the cue changes when using the track element.


<track oncuechange="go()">   <!-- Executes the go() function -->

ondurationchange - The JavaScript code to be run when the length of the media is changed.


<track ondurationchange="go()">   <!-- Executes the go() function -->

onemptied - The JavaScript code to be run when a media resource element suddenly becomes empty, usually due to an error.


<track onemptied="go()">   <!-- Executes the go() function -->

onended - The JavaScript code to be run when the media has reach the end.


<track onended="go()">   <!-- Executes the go() function -->

onloadeddata - The JavaScript code to be run when media data is loaded and playback can start.


<track onloadeddata="go()">   <!-- Executes the go() function -->

onloadedmetadata - The JavaScript code to be run when metadata has been loaded.


<track onloadedmetadata="go()">   <!-- Executes the go() function -->

onloadstart - The JavaScript code to be run when the media resource has started loading.


<track onloadstart="go()">   <!-- Executes the go() function -->

onpause - The JavaScript code to be run when the media resource has been paused.


<track onpause="go()">   <!-- Executes the go() function -->

onplay - The JavaScript code to be run when the media resource starts playback.


<track onplay="go()">   <!-- Executes the go() function -->

onplaying - The JavaScript code to be run when playback has already begun.


<track onplaying="go()">   <!-- Executes the go() function -->

onprogress - The JavaScript code to be run when the browser is fetching the media data.


<track onprogress="go()">   <!-- Executes the go() function -->

onratechange - The JavaScript code to be run when the playback rate changes.


<track onratechange="go()">   <!-- Executes the go() function -->

onseeked - The JavaScript code to be run when the seeking attribute is set to false indicating that seeking has finished.


<track onseeked="go()">   <!-- Executes the go() function -->

onseeking - The JavaScript code to be run hen the seeking attribute is set to true indicating that seeking is currently active.


<track onseeking="go()">   <!-- Executes the go() function -->

onstalled - The JavaScript code to be run when the browser is unable to continue fetching media data.


<track onstalled="go()">   <!-- Executes the go() function -->

onsuspend - The JavaScript code to be run when media data has stopped before being completely loaded.


<track onsuspend="go()">   <!-- Executes the go() function -->

ontimeupdate - The JavaScript code to be run when the media resources current playback position has changed.


<track ontimeupdate="go()">   <!-- Executes the go() function -->

onvolumechange - The JavaScript code to be run when the volume has changed or been muted.


<track onvolumechange="go()">   <!-- Executes the go() function -->

onwaiting - The JavaScript code to be run when the media resource has paused but is expected to resume.


<track onwaiting="go()">   <!-- Executes the go() function -->

Mouse

onclick - The JavaScript code to be run when a mouse is clicked on the element.


<track onclick="go()">   <!-- Executes the go() function -->

ondblclick - The JavaScript code to be run when a mouse is double clicked on the element.


<track ondblclick="go()">   <!-- Executes the go() function -->

onmousedown - The JavaScript code to be run when the mouse button is pressed down while the cursor is over the element.


<track onmousedown="go()">   <!-- Executes the go() function -->

onmousemove - The JavaScript code to be run when the mouse button is moved.


<track onmousemove="go()">   <!-- Executes the go() function -->

onmouseout - The JavaScript code to be run when the mouse cursor moves off an element.


<track onmouseout="go()">   <!-- Executes the go() function -->

onmouseover - The JavaScript code to be run when the mouse cursor moves over an element.


<track onmouseover="go()">   <!-- Executes the go() function -->

onmouseup - The JavaScript code to be run when the mouse button is released while the cursor is over the element.


<track onmouseup="go()">   <!-- Executes the go() function -->

onwheel - The JavaScript code to be run when the mouse wheel rolls up or down over an element.


<track onwheel="go()">   <!-- Executes the go() function -->

Window

NONE

go to home page Homepage go to top of page Top