W3C logo Web  Accessibility Initiative (WAI) logo

WAI Resource:
SMIL 1.0 Accessibility Improvements

DRAFT 11 November 1998

This document is available at:
http://www.w3.org/WAI/References/SMIL1-access

1 Introduction

The Web Accessibility Initiative ([WAI]) worked together with the W3C SYMM Working Group to ensure accessibility in the design of [SMIL 1.0] before it became a W3C Recommendation in June 15th, 1998. The main purpose of this NOTE is to explain how the author can use the accessibility features to enhance the accessibility of SMIL documents.

The SMIL standard can be used to create multimedia presentations combined from several separate media objects which are laid out on screen space and synchronized with each other in time. SMIL is extremely important in creating educational material in domain areas with high demands for visualization, such as medical field, meteorology, biology and automechanics. Also other TV like presentations can be easily created.

The intensive use of video and audio and the temporal character of SMIL presented the WAI group new challenges for accessibility. The main focus at this stage was to offer means for attaching information presented in alternative media to the SMIL presentations. In particular, the following issues were addressed:

  1. Means to provide alternative content for media object elements
  2. Means to provide captioning and overdubbing of media object elements
  3. Means to access SMIL presentations with various connection speeds and information appliances
  4. Means to change the layout and style of the SMIL document according to user's needs

These are discussed in more detail in the following chapters. In addition, some possible future challenges that were not addressed at this stage are documented in Chapter 6.

2 Alternative Descriptions

Alternative content of the media object elements can be shown by using the accessibility attributes familiar from HTML: title for a short meaningful textual description that can be used in tooltips, alt attribute for alternate text when media object is not displayed by the user agent and longdesc attribute for a link to a longer, more detailed textual description of media object's content. In addition, a media object can have an abstract attribute, which is a brief description of the media object element content. Furthermore, the author attribute describes the author of the media object element.

Synchronization elements in SMIL define which elements happen in parallel and which happen sequentially. These elements define combinations of elements, which may have their own alternative descriptions. At the moment only title, abstract, and author attributes are available for the synchronization elements.

Here is an example of how alternative descriptions can be used with media object elements and hyperlinking. The presentation B has alternate text explaining the whole content of the video element containing two sequential interviews "joe" and "tim". The presentation A contains a video of a graph that is linked to the "tim" part of the video object element in presentation B.  Therefore also the title attribute of the link refers to the "tim" subpart of presentation B.

Presentation A:
 
 <a href="http://www.cwi.nl/mm/presentationB#tim"
  title="Tim's interview on Web trends" >
    <video region="win1" id="graph" src="rtsp://foo.com/graph.imf"
     alt="Web trends with dynamic graphs"/>
 </a>
 
 Presentation B:
 
 <video src="http://www.w3.org/stuff" title="BBC interview"
  alt="Joe's and Tim's interview for BBC"
  abstract="BBC interviews Joe and Tim about the Future of the Web">
   <anchor id="joe" begin="0s" end="5s"/>
   <anchor id="tim" begin="5s" end="10s"/>
 </video>

3 Captions and Overdubs

From accessibility viewpoint it is important that all media objects that contains audio are being captioned. In addition to being deaf, there are many other reasons why a user would like to have captions available of audio object elements. For instance, a user may not understand the spoken language very well, the sound may disturb her children while they are sleeping, and the used appliance is incapable of playing the sound. So user should be given control of when to display the captions. SMIL has some special testing attributes for captioning that work with any media object or synchronization element.

Author can present captions in a SMIL document by marking the media object containing the captions with system-captions="on". When the attribute with the same name is turned on by the user agent the media objects marked by the author in the SMIL document may be displayed. The actual displaying depends on the values of the other attributes and the order of the media objects in a switch element. In some cases, the author may also mark some media objects with attribute value "off".

In the following example, the captions media object is shown only if the user has turned the captions on by using the user agent.

...
 <par>
   <audio      src="audio.rm"/>
   <video      src="video.rm"/>
   <textstream src="stockticker.rtx"/>
   <textstream src="closed-caps.rtx" system-captions="on"/>
 </par>
...
Overdubbing can be defined by using attribute system-overdub-or-caption. It works both with media object and synchronization elements. This attribute determines if users prefer overdubbing or captioning when the option is available. It can have either value "overdub" or "caption". However, the "caption" value is unnecessary as the system-captions attribute with value "on" can be used instead. This also makes it possible to have both overdubs and captions in the user selected language.

In the following example, a French-language movie is available with English overdub and caption tracks on both languages. French captions are selected by turning captions on and English captions by turning also the language to English. The audio is in French unless also the overdubs are turned on with the system-overdub-or-captions attribute.

...
 <par>
   <video src="movie-vid.rm"/> <!-- video -->
   <switch> <!-- audio -->
     <audio src="movie-aud-en.rm" system-language="en"
            system-overdub-or-caption="overdub"/>
     <!-- French audio for others -->
     <audio src="movie-aud-fr.rm"/>
   </switch>   
   <switch> <!-- captions -->
     <textstream src="movie-caps-en.rtx" system-language="en"
                  system-captions="on"/>
     <!-- French captions -->
     <textstream src="movie-caps-fr.rtx" system-captions="on"/>
   </switch>
 </par>
 ...

4 Layout and Style

The author can use the switch and region elements to define a different layout when the captions are set "on". The following example fragment contains three region elements: "a","b", and "cap". These control the position, size and scaling of the video and the captioning media object elements. When captions are "on" the video is shown in a smaller region under the video region otherwise it fills all the available space.

<smil>
  <head>
    <layout>
      <region id="a" top="0" height="100%" fit="meet"/>
      <region id="cap" top="0" height="75%" fit="meet"/>
      <region id="b" top="75%" height="20%" fit="scroll"/>
    </layout>
  </head>
  <body>
    <par>
      <switch>
        <video region="cap" src="movie-vid.rm" system-captions="on"/> 
        <video region="a" src="movie-vid.rm"/>
      </switch>
      <textstream region="b" src="closed-caps.rtx" system-captions="on"/>
    </par>
  </body>
</smil>

In addition to SMIL attributes, the CSS stylesheets may be used to define the layout of   SMIL objects.

Currently the only style attribute that can be set in SMIL is background-color but without other color definitions that has little effect to accessibility.

5 Alternative Connection Speeds and Device Characteristics

By using testing attributes  it is possible to define alternative designs according to the speed of connection or some characteristics of the used device. This is important when the pages need to be accessible through various devices and connections. However, as the number of testing attributes grows the document can become complicated. When using these the author should be very careful so that the user choices with a user agent are not unnecessarily restricted. For instance, occasionally the user may want to load some important images or animations even when the connections are slow.
 
The system-bitrate attribute specifies the approximate bandwidth available to the system. For instance, by using this attribute the author of the document can decide not to high quality images with slow connection. Similarly the system-screen-size can be used by the author what will be shown to the user with certain screen size. The system-screen-depth attribute controls the presentation according to the capability of the device to display images or video at a certain color depth. These attributes can be used both with media object and synchronization elements.

In the following is an example of SMIL markup that chooses between content with different bitrate. The media player evaluates each of the parallel choices in the switch element one at a time, looking for a bitrate that fits with the characteristics of the link between the media player and media server. The audio and captions part can be performed as earlier in the dubbing and captioning example in Chapter 3.

...
 <par>
   <switch> <!-- video -->
     <video src="high-quality-movie.rm" system-bitrate="40000">
     <video src="medium-quality-movie.rm" system-bitrate="24000">
     <video src="low-quality-movie.rm" system-bitrate="10000">
   </switch>
   <switch> <!-- audio -->
     ...
   </switch>   
   <switch> <!-- captions -->
     ...
   </switch>
 </par>
 ...

6 Future Challenges

Here are some ideas that could be considered in the future development of SMIL specification. They are by no means ready. Further discussion and development will be needed when these are considered.

In the future, there might be need to define more means for the style and layout of the whole presentation. For instance, users with low vision and color deficiency might want to control the fonts and colors of all the SMIL objects containing text by using one group of settings on the user agent. One possible solutions is to be able to attach a stylesheet to the SMIL presentation that affects hierarchically all the media object elements of the document. Alternatively,  the default values set at the user agent could just override the media object element values.

Some of the things now defined as part of a SMIL document might be easier to define by using stylesheets. For instance, the layout might be different with different devices and it is hard to predict every case in the document. Also some users with slow connections might still want to see images that are very important to them although as a default the author has turned the display of images off at low bitrates. The use of stylesheets would make it more flexible for the users or certain user groups to change the default settings when needed. On the other hand it should be also easy to turn the author generated default settings back on when the user wishes.

Plenty of work is going on in defining guidelines for user agents, so that the Web documents would remain accessible. There are several things that can be done with SMIL documents. For instance, with the material tied to a certain presentation time should be accessible e.g. without an ability for fine grain control of the time, the media objects and the displayed links. The time dependent links may be displayed in a static list, so that it is possible to browse them, search them and possibly also to link back to the corresponding sequences of the presentation that activate the links.

An interesting problem is also how to best give nonvisual cues. For instance,  how to best inform a user that new anchors have appeared in the presentation when they cannot be seen. More complex problem is when several images with alternative texts are shown parallel. Obviously they cannot be read at the same time as that would be incomprehensible. We need to find ways to schedule the reading of alternative texts. In addition, the pace of the presentation may need some adjustment when alternative texts or long descriptions are read in place other temporal elements.

7 About the Web Accessibility Initiative

The W3C Web Accessibility Initiative is pursuing accessibility of the Web through five primary areas of work: addressing accessibility issues in the technology of the Web; creating guidelines for browsers, authoring tools, and content creation; developing evaluation and validation tools for accessibility; conducting education and outreach; and tracking research and development. Various Web design aspects, such as use of graphics and audio content, navigation options can present barriers to users depending on an individual's disability, the used device or the environment. For instance, a user  might be browsing the Web on a device with no graphics display capability, or in a noisy environment or she might be blind or have color deficiencies.

The WAI International Program Office (IPO) enables partnering and coordination among the many stake-holders in Web accessibility: industry, disability organizations, government, and research organizations. The IPO is sponsored by the US National Science Foundation and the Department of Education's National Institute on Disability and Rehabilitation Research; the European Commission's TIDE Program, and W3C industry Members including IBM/Lotus Development Corporation, Microsoft Corporation, NCR, and Riverland Holding. Disability and research organizations on several continents also actively participate in the WAI.

Acknowledgements

Many people in W3C community have given valuable comments while writing this document. I want to give special thanks to Philipp Hoschka, Judy Brewer, Patrick Schmitz and the people in WAI EO and SYMM groups.

References

[SMIL1.0]
The SMIL1.0 Specification is available at http://www.w3.org/TR/REC-smil. The press release is available at http://www.w3.org/Press/SMIL1-REC.
[CSS]
Cascading Style Sheets (CSS), level 1 Specification is available at http://www.w3.org/TR/REC-CSS1 and level 2 Specification at  http://www.w3.org/TR/REC-CSS2.
[WAI]
Please consult the WAI home page at http://www.w3.org/WAI. The "WAI Accessibility Guidelines: Page Authoring" Working Draft has been produced as part of the WAI Technical Activity, and is available at http://www.w3.org/TR/1998/WD-WAI-PAGEAUTH-0203.

A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.


The authors welcome comments:

Marja-Riitta Koivunen (marja@w3.org)


Judy Brewer (JBrewer@w3.org)


Director, Web Accessibility Initiative International Program Office
World Wide Web Consortium (W3C)
MIT/LCS Room NE43-355
545 Technology Square, Cambridge MA 02139 USA
1 (617) 258-9741
http://www.w3.org/WAI