How Do SMIL Anchor Tags Enable Timed Hyperlinks?
Synchronized Multimedia Integration Language (SMIL) enables
time-based navigation by nesting <anchor> elements
directly inside continuous media objects like video or audio. Unlike
standard HTML links that persist continuously across a webpage, a SMIL
anchor binds spatial coordinates and precise temporal boundaries to a
media asset, activating hyperlinks only during designated playback
intervals.
The Role of the SMIL Anchor Element
In SMIL architectures, linking is split into two primary mechanisms:
the global <a> wrapper, which makes an entire media
element interactive for its full duration, and the
<anchor> tag, which isolates sub-regions in both
space and time.
When embedded within media elements such as
<video>, <animation>, or
<img />, the <anchor> tag
specifies when a hyperlink becomes interactive and when it expires,
without splitting the underlying media file into separate clips.
Key Timing and Spatial Attributes
Timed hyperlinking relies on a combination of timing controls and coordinate mapping:
- **
beginandend**: Define the exact timestamps within the parent media clip's timeline during which the link is active and clickable. dur: Specifies the explicit duration of the link's active state if anendpoint is not provided.coords: Defines the clickable spatial region (such as a bounding rectanglecoords="left, top, right, bottom"or circle) on the visual surface.href: Points to the target URI, which can navigate to external web content, another SMIL presentation, or a specific temporal marker within the current document.show: Dictates navigation behavior, controlling whether the target resource replaces the presentation (show="replace"), opens in a separate context (show="new"), or pauses playback (show="pause").
Practical SMIL Anchor Implementation
The following example demonstrates an interactive video where a specific call-to-action link appears only between the 5-second and 15-second marks of playback:
<smil xmlns="http://www.w3.org/ns/SMIL">
<head>
<layout>
<root-layout width="640" height="480" />
<region id="video_region" left="0" top="0" width="640" height="480" />
</layout>
</head>
<body>
<seq>
<video src="presentation.mp4" region="video_region" dur="30s">
<!-- Interactive hotspot active only from 00:05 to 00:15 -->
<anchor href="https://example.com/details"
begin="5s"
end="15s"
coords="400, 300, 600, 420"
show="new" />
</video>
</seq>
</body>
</smil>Execution and Event Handling
During execution, the SMIL runtime evaluates the anchor's
begin condition relative to the parent media's internal
clock.
When the parent video reaches the designated start time, the player
registers the defined screen coordinates as an active input listener.
User clicks outside the specified time window or outside the bounding
coordinates are ignored or handled by default media controls. Once the
playback clock exceeds the end time, the interactive
hotspot is removed automatically while video playback continues
seamlessly.