WAI-Adapt: Content Module

W3C Candidate Recommendation Snapshot

More details about this document
This version:
https://www.w3.org/TR/2022/CR-adapt-content-20220726/
Latest published version:
https://www.w3.org/TR/adapt-content/
Latest editor's draft:
https://w3c.github.io/adapt/content/
History:
https://www.w3.org/standards/history/adapt-content
Commit history
Implementation report:
https://w3c.github.io/adapt/content/reports/
Editors:
(Invited Expert)
(Benetech)
(Invited Expert)
(W3C)
(W3C)
Richard Schwerdtfeger (Knowbility) (Editor until October 2017)
Feedback:
GitHub w3c/adapt (pull requests, new issue, open issues)

Abstract

This specification provides web content authors a standard approach to support web users who are persons with various cognitive and learning disabilities, including users who:

The technology described in this specification is intended to be used to programmatically transform the appearance of typical web content including form controls, icons, and other user interface elements into a rendering more familiar and comprehensible to an individual user. Providing additional help is supported, as is automated page simplification. Use cases and relevant vocabulary terms are defined which allow user agents to augment or adapt content to better fit a particular user's particular needs. This helps users with varying needs to understand web content more readily, by simplifying the web interaction, and by avoiding forcing the user to grapple with unfamiliar representations they are ill equipped to comprehend.

This WAI-Adapt: Content Module is a component of the WAI-Adapt series introduced in the WAI-Adapt Explainer document [adapt].

Status of This Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

This document was published by the Accessible Platform Architectures Working Group as a Candidate Recommendation Snapshot using the Recommendation track.

Publication as a Candidate Recommendation does not imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received wide review, is intended to gather implementation experience, and has commitments from Working Group members to royalty-free licensing for implementations.

To comment, please open a new issue in the WAI-Adapt GitHub repository, If it's not feasible for you to use GitHub, send comments in plain text e-mail to: public-adapt@w3.org. Please include your comments in the body of the message, not as a binary attachment which we will be unable to process. Please send comments by 26 September 2022.

This Candidate Recommendation is not expected to advance to Proposed Recommendation any earlier than 26 January 2023.

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 2 November 2021 W3C Process Document.

1. Introduction

This section is non-normative.

1.1 Background

This specification module enables authors to add semantic information about content at the element level, in order to facilitate a more familiar or comprehensible interface for the individual user. Multiple screen renderings (transformations) are supported in order to meet the differing needs of different users. Final renderings — generated via helper apps or 3rd-party tools — are ultimately defined by the user's configuration settings.

The goal of the attributes and values described in this specification is to enable personalized communication and web content interaction for the individual user. This specification includes facilities to:

WAI-Adapt is a series of technical specifications that provide the element-level attributes and values which enable user agents and helper-applications to adapt content to an individual user's needs. It relies on author-supplied page and element level metadata in order to achieve individualized personalization.

WAI-Adapt currently consists of three modules: Content, Help and Support, and Tools . The specification defined in this document is the WAI-Adapt: Content Module—the first of the WAI-Adapt Modules series.

WAI-Adapt is more fully introduced in our WAI-Adapt Explainer [adapt].

1.2 WAI-Adapt: Content Module

WAI-Adapt: Content Module is the first part of the WAI-Adapt technical specification, which provides WAI-Adapt and vocabularies that can be used to mark-up web content with additional semantic information, enabling user agents to augment or adapt content to various user-scenarios based on the user’s personalization settings or preferences. The Content Module enhances web content by providing additional information about form controls, buttons, links, and other user interface elements. User agents use these semantics to augment or adapt content to the user’s scenario — for example allowing for the conversion of text to symbols. This helps users with varying needs understand content better by providing support for simplification and/or a way to manage distractions.

1.3 Vocabulary Structure and Implementations

All the vocabulary in WAI-Adapt: Content Module is constructed of properties and their values. Please see our WAI-Adapt Explainer.

Editor's note

The WAI-Adapt specification currently defines and relies on multiple entity attributes constructed according to the requirements of Sec. 3.2.6.6 of the HTML Specification, Embedding custom non visible data with the data-* attributes and by express request of W3C's Technical Advisory Group (TAG). The HTML data- attribute syntax is not intended to be used for long-term wide-scale features. The task force is using this approach at the moment to gain implementation experience and demonstrate the usefulness of WAI-Adapt in practice.

Implementers are cautioned that the "data-" prefix will be removed or replaced for some or all attribute values in succeeding iterations of this specification following additional consideration in W3C and the WHATWG.

The vocabulary implementations included in this document are available at our implementations wiki page.

1.3.1 Properties

Properties are the main units of WAI-Adapt types supported by the vocabulary. A given property supports a specific type of personalization. That property would only be used once on a given piece of content, but multiple different properties could be used on the same piece of content to address different needs.

1.3.2 Values

Values provide the specific WAI-Adapt information for the property. The possible values for each property are elaborated in the definition of the property in the modules. Some properties require the value to come from a predefined list of possible values, others can accept arbitrary strings, and some may accept multiple values. The attribute value may be one of the following types:

ID reference
Reference to the ID of another element in the same document
ID reference list
A list of one or more ID references.
integer
A numerical value without a fractional component.
number
Any real numerical value.
string
Unconstrained value type.
token
One of a limited set of allowed values.
token list
A list of one or more tokens.
URI
A Uniform Resource Identifier as defined by RFC 3986 [RFC3986] It may reference a separate document, or a content fragment identifier in a separate document, or a content fragment identifier within the same document.

Note that the attributes and values in this specification do not overide the semantics exposed in the accessibility tree, but rather augment them. In the case of conflict between an element's semantics and the attribute values, validation algorithms should issue a warning but not an error.

Note
Since implementations have not yet been finalized, any examples in this document are illustrative only, and are provided to help in understanding the concept. All examples will be updated once implementation examples are finalized.

1.4 Use Cases and Requirements

The Requirements document for WAI-Adapt describes use cases and requirements. This module provides properties to fulfill those requirements related to adapting content.

2. Terms

This document uses a number of specific terms related to various cognitive disabilities and related user-needs. Those terms have been defined by the Cognitive and Learning Disabilities Accessibility Task Force. See the COGA Glossary for specific definitions.

3. Vocabulary

3.1 action

3.1.1 Description

The action attribute provides the context of a button. It is typically used on a button element or element with role="button".

Note
The attribute in this section, "action", is one of three attributes named "action", "destination" and "purpose" for which we considered some alternatives. You can find a detailed discussion of the three attributes and alternatives at Review of approaches for Action, Destination, and Purpose.

3.1.2 Example

The following is an example using the action attribute.

Example 1: Action Using data-action
<button data-action="undo">Revert</button>

A personalization agent may add a symbol, replace the text (button label) with a more familiar term, or give it a specific presentation.

Note that this attribute can only take a single token value, and there is no default value.

3.1.3 Characteristics

Characteristic Value
Related Concepts:
Used in Roles: All elements of the base markup
Inherits into Roles: Placeholder
Value: token

The following is the proposed token values used with action for buttons. Note that the following items represent an option or control that allows you to perform the action. They do not represent page regions.

3.1.4 Values

Value Description
add Add the selected item or the item at the current location to a list.
brightness Adjust the screen or application brightness. Often used with increase or decrease but is sometimes used alone as a menu name or item.
buy Buy the selected item or buy the item at the current location. Often involves adding the current item into a shopping cart. (Implied simplification = "critical".)
cancel Closes the dialog and discards any changes the user may have made within that dialog. (Implied simplification = "critical", the reason being if there is no [escape] option [cancel] must be present to abort the operation.)
captions Show the settings for captions and subtitles.
channel Adjust the channel of a multimedia component. Often used with increase or decrease but is sometimes used alone as a menu name or item.
checkout Proceed to the purchasing process. (Implied simplification = "critical".)
close Close the current dialog. (Implied simplification = "critical".)
color Opens a color picker.
compose Compose a new item such as an email. (Implied simplification = "critical".)
confirm Confirms submission of the form request to the server. For example, an "ok" button. (Implied simplification = "critical".)
connect Connect to a communication channel, such as an FTP server or Voice over IP channel. Often used with [aria-pressed = "true"] for on or [aria-pressed = "false"] for off.
copy Copies the selected control, item or text and places it onto the clipboard.
cut Removes the selected control, item or text and places it onto the clipboard.
date Opens a date control. (Implied simplification= "critical".)
decrease Decreases the level of the relevant setting. (Implied simplification= "critical".)
delete Delete the current item, selected control, or text.
down Changes the location of the selected item(s) downward.
download Download a file from the server.
drag Enables drag and drop capabilities. Often used with [aria-pressed = "true"] for on or [aria-pressed = "false"] for off.
edit Edit the item or selection at the current location.
end Moves to the terminus of a range, list, or sequence. This is typically used in a sequence of steps.
escape Typically used to abort, cancel or change what is currently being displayed on the screen. A common application of the the esc key is to leave full screen mode. (Implied simplification = "critical", the reason being if there is no [cancel] option [escape] must be present to abort the operation)
expand Expand or collapse the current item.
forward Forward the current item such as an email.
opens-in-page-help Opens a help function on the same page. (Implied simplification= "critical".)
increase Increases the level of the relevant setting. (Implied simplification= "critical".)
label Add a label to the selected item or the item at the current location.
language Ability to select the preferred language for the content.
left Changes the location of the selected item(s) to the left based on physical positioning. Note that the logical implication may depend on the direction of the page. If the logic is important, use next or previous.
loop Plays the flow, presentation or a movie over and over again, once or without stopping. Often used with [aria-pressed = "true"] for on or [aria-pressed = "false"] for off.
media-position Adjust the current playback position in the current media.
mode Change the mode or functionality. (Implied simplification= "critical".)
more Show more information.
move Changes the position of a selected item(s). Often used with left, right, begin, end, increase (up) or decrease (down).
mute Mute or toggle the mute option.
new Open a new item. (Implied simplification= "critical".)
next Go to the next item in the series. (Implied simplification = "critical".)
open Open an item. (Implied simplification = "critical".)
order Changes the position of the selected item within a list of items, while each item in the list has a layer position. Often used with increase (forward), decrease (back), first and end.
paste Paste the content from the clipboard to the current position.
pause Pause a multimedia, audio or video element or object. (Implied simplification = "critical".)
play Play a multimedia, audio or video element or object. (Implied simplification = "critical".)
previous Go to the previous item in the series. (Implied simplification = "critical".)
print Print the current page, selection or the item at the current location.
profile Opens the user's profile page.
properties Shows the properties of an item.
received Open the received folder.
refresh Manually refresh the current contents of the screen.
remove Removes an item from a list.
reply Reply to the current item such as an email. (Implied simplification = "critical".)
reset Resets all the controls to their initial or default values.
resize Increase or decrease the font size. Often used with increase or decrease.
right Changes the location of the selected item(s) to the right based on physical positioning. Note that the logical implication may depend on the reading direction of the page. If this logic is important, use next or previous instead.
save Save the current content. (Implied simplification = "critical".)
scroll Advances the view. Often used with left, right, begin, end, increase (up) or decrease (down).
send Send a form, email or request. (Implied simplification = "critical".)
sent Open the sent folder.
settings Open settings and options.
skip Skips the current step. This is typically used in a sequence of steps.
start Moves to the beginning of a range, list, or sequence. This is typically used in a sequence of steps.
submit Submits the form data or a request to the server. (Implied simplification = "critical".)
temperature Adjust the temperature. Often used with increase or decrease but is sometimes used alone as a menu name or item.
toc Resolves to a table of contents.
undo Revert to the prior state before the user's most recent changes.
up Changes the location of the selected item(s) upward.
upload Upload a file to the server.
voice-commands Activate or deactivate voice commands. Often used with [aria-pressed = "true"] for on or [aria-pressed = "false"] for off.
volume Adjust the volume of a multimedia component. Often used with increase or decrease but is sometimes used alone as a menu name or item.

3.2 destination

3.2.1 Description

The destination attribute categorizes the target of a hyperlink.

A personalization agent or user agent may add additional familiar user interface features to help users understand the link and follow the right one easily. User agents might add a familiar customized icon to the link, style the link in a customized way, or position the link on the page in a location that the user generally expects to find a link of the particular type.

Note
The attribute in this section, "destination", is one of three attributes named "action", "destination" and "purpose" for which we considered some alternatives. You can find a detailed discussion of the three attributes and alternatives at Review of approaches for Action, Destination, and Purpose.

3.2.2 Example

The following is an example using the destination attribute.

Example 2: Destination Using data-destination
<a href="home.html" data-destination="home">our main page</a>

See the destination sample user experience.

Note that this attribute can only take a single token value, and there is no default value.

3.2.3 Characteristics

Characteristic Value
Related Concepts:
Used in Roles: All elements of the base markup
Inherits into Roles: Placeholder
Value: token

3.2.4 Values

Value Description
about Information about the content owner or producer.
accessibility-statement Information about the accessibility features in a web site or web content.
begin Changes the location to the beginning item from a list of items or redirects the functionality to the first step in a sequence.
chat Human help or a dialog help function such as a chat bot.
contact Opens contact information for the content owner or producer.
email-recipient Email address for the content owner or producer.
end Changes the location to the end item from a list of items or redirects the functionality to the last step in a sequence.
feedback Submit feedback or comment on the current item.
help A help function that navigates to support or instructions.
home Initial or main page of a website or application.
phone Phone number for the content owner or producer.
post Post current item. Item will be visible to other parties.
products Products available from the content provider.
related Adds a related item(s) to a pre-selected list of items.
services Services available from the content provider.
signin Sign in to the current web site or application.
signout Sign out of the current web site or application.
sitemap Content containing a list of all the pages in a web site.
social Content provider on a social media platform. Note: the specific name of the social media platform should be included in the accessible name.
terms The conditions or terms-of-use applicable to the website or web content.
tools Available tools for interacting with the current content.

3.3 purpose

3.3.1 Description

The purpose attribute provides the context of a text input field such as a text box. It is typically used on an input of type text, or an element with a corresponding role.

A WAI-Adapt agent may add a symbol, replace the text with a more familiar term, or give it a specific presentation. Note that there is no default value.

The user experience may include filling in the field (autocomplete) or adding an icon to augment the input label.

The purpose values that would typically be on form inputs should provide context for the user. For example tel would relate to the user's telephone number.

Note that there is no default value, and there can be more than one space-seperated value for a field.

Note
The attribute in this section, "purpose", is one of three attributes named "action", "destination" and "purpose" for which we considered some alternatives. You can find a detailed discussion of the three attributes and alternatives at Review of approaches for Action, Destination, and Purpose.

3.3.2 Example

  1. The following is an example using the purpose attribute on a text input collecting a telephone number.
    Example 3: Field Using data-purpose
    <input type="text" name="telnum" data-purpose="tel"/>
  2. The following is an example using the purpose attribute on a textarea input collecting both Country and Postal-code information.
    Example 4: Field Using data-purpose - space separated values
    <textarea name="country_zip" data-purpose="country-name postal-code"/>

3.3.3 Characteristics

Characteristic Value
Related Concepts:
Used in Roles: All elements of the base markup
Inherits into Roles: Placeholder
Value: token

3.3.4 Values

Where the same value exists in the WCAG 2.1[WCAG21] Input Purposes for User Interface Components values, this specification uses that definition. This specification includes additional values that go beyond just collecting information about the user as referenced in WCAG 2.1 Success Criterion 1.3.5 Identify Input Purpose

Value Description
additional-name Additional names (in some Western cultures, also known as middle names, forenames other than the first name).
additional-name-initial Additional or middle name initial.
address-level1 The broadest administrative level in the address, i.e., the province within which the locality is found; for example, in the US, this would be the state; in Switzerland it would be the canton; in the UK, the post town.
address-level2 The second administrative level, in addresses with two or more administrative levels; in the countries with two administrative levels, this would typically be the city, town, village, or other locality within which the relevant street address is found.
address-level3 The third administrative level, in addresses with three or more administrative levels.
address-level4 The most fine-grained administrative level, in addresses with four administrative levels.
address-line1 Street address (one line per field, line 1)
address-line2 Street address (one line per field, line 2)
address-line3 Street address (one line per field, line 3)
answer Answer to a section question.
area Administrative area, state, province, or region.
bday Birthday.
bday-day Day component of birthday.
bday-month Month component of birthday.
bday-year Year component of birthday.
cc-csc Security code for the payment instrument (also known as the card security code (CSC), card validation code (CVC), card verification value (CVV), signature panel code (SPC), credit card ID (CCID), etc).
cc-exp Expiration date of the payment instrument.
cc-exp-month Month component of the expiration date of the payment instrument.
cc-exp-year Year component of the expiration date of the payment instrument.
cc-name Full name as given on the payment instrument.
cc-number Code identifying the payment instrument (e.g., the credit card number).
cc-type Type of payment instrument.
cc-given-name Given name as given on the payment instrument (in some Western cultures, also known as the first name).
cc-additional-name Additional names given on the payment instrument (in some Western cultures, also known as middle names, forenames other than the first name).
cc-family-name Family name given on the payment instrument (in some Western cultures, also known as the last name or surname.
comment Form comment section. Typically, a free text field.
country Country code.
country-name Country name.
current-password The current password for the account identified by the username field (e.g., when logging in).
date-end Set the end time of an event.
Note
We may remove this or harmonize with other date time standards.
date-start Set the start date or the date of an event.
Note
We may remove this or harmonize with other date time standards.
email E-mail address.
family-name Family name (in some Western cultures, also known as the last name or surname).
fax Full fax number, including international country code.
fax-area-code Area code.
fax-country-code International country code.
fax-local Local fax number: full number minus country and area codes.
fax-national National fax number: full number minus international country code and area code.
given-name Given name (in some Western cultures, also known as the first name).
honorific-prefix Prefix or title (e.g. "Mr.", "Ms.", "Dr.", "Mlle").
honorific-suffix Suffix (e.g. "Jr.", "B.Sc.", "MBASW", "II").
impp URL representing an instant messaging protocol endpoint (for example, "aim:goim?screenname=example" or "xmpp:fred@example.net”).
language Ability to select the preferred language for the content.
Note
The use of the language token does not mandate the use of BCP47 values: authors can request content as either a BCP47 value or a simple text string.
name Full name.
new-password A new password (e.g., when creating an account or changing a password).
nickname Nickname, screen name, handle: a typically short name used instead of the full name.
organization Company name corresponding to the person, address, or contact information in the other fields associated with this field.
organization-title Job title (e.g., "Software Engineer", "Senior Vice President", "Deputy Managing Director”).
photo Photo or avatar.
postal-code Postal code, post code, ZIP code, CEDEX code (if CEDEX, append "CEDEX", and the arrondissement, if relevant, to the address-level2 field).
sex Gender identity (e.g., Female, Fa’afafine).
subject Form subject. Typically, a free text field.
tel Full telephone number, including country code.
tel-area-code Area code component of the telephone number, with a country-internal prefix applied if applicable.
tel-country-code Country code component of the telephone number.
tel-extension Telephone number internal extension code.
tel-local Telephone number without the country code and area code components.
tel-local-prefix First part of the component of the telephone number that follows the area code, when that component is split into two components.
tel-local-suffix Second part of the component of the telephone number that follows the area code, when that component is split into two components.
tel-national Telephone number without the country code component, with a country-internal prefix applied if applicable.
time-end Set the end time of an event.
Note
We may remove this or harmonize with other date time standards.
time-start Set the start time or the time of an event.
Note
We may remove this or harmonize with other date time standards.
topic Topic for the form. Typically, selected from a list of reserved words.
transaction-currency The currency that the user would prefer the transaction to use.
transaction-amount The amount that the user would like for the transaction (e.g. when entering a bid or sale price).
url Home page or other Web page corresponding to the company, person, address, or contact information in the other fields associated with this field.
username A username.

3.4 simplification

3.4.1 Description

The simplification attribute differentiates between critical features and less important features for user interface simplification.

This facilitates simplified interfaces that emphasize critical features by offering fewer options. Adaptations can be based on personalization settings.

Note that this attribute can only take a single token value, and there is no default value.

3.4.2 Examples

  1. An example using the simplification attribute in the context of a submit button.
    Example 5: Simplification Using data-simplification
    <input value="Submit" type="submit" data-simplification="critical"/>
  2. In this example, the simplification attribute is used on critical content — a newsletter from an elementary school. Important announcements about an early school dismissal is in a list of other activities. If this important information is missed, the parents might not be home in time, putting children at risk.
    Example 6: Simplification Using data-simplification
    <p>Years 2 - 3 are putting on a play next Tuesday. 
    <strong data-simplification="critical">Therefore school will close at 1 pm on Tuesday</strong> 
     so we can get the school hall ready.</p>

3.4.3 Characteristics

Characteristic Value
Related Concepts:
Used in Roles: All elements of the base markup
Inherits into Roles: Placeholder
Value: token

3.4.4 Values

Value Description
critical The critical setting should be used on:
  • Controls and content that are essential for the key function (from the user perspective) of the page or application. Example: The send button for an email draft in an email application.
  • Controls and content that are sometimes critical to use the site, such as "save my work" or "emergency instructions".
  • Controls and content that are used by over 90% of a user group (such as parents or teachers) most times they interact with the content.
  • Other controls or content that is critical to the page or application, at the author's discretion. (Authors are cautioned not to over-use this attribute value)
medium (default) The medium setting should be used on:
  • Controls and content that are used frequently but are not essential for the key functioning of the application. Example: The delete button for an email draft in an email application.
  • Controls and content that are sometimes important for a user to interact with the site, such as settings to change colors or fonts.
  • Controls and content that are used by over 60% of a user group (such as parents or teachers) when they interact with the content.
  • Other controls or content, at the author's discretion.
low The low setting should be used on:
  • Controls and content that are rarely used or only used by advanced users. Example: The terms and services or the archive button for an email application.

3.5 distraction

3.5.1 Description

The distraction attribute is intended to be used on non-essential content, so that people who have problems keeping focus can minimize, re-order or turn the content off. An example user-experience would be to hide all non-essential content.

Note that there is no default value.

Note that elements with the distraction attribute should also have a label or accessible name.

It has been noted that advertising constitutes the critical revenue stream for many content providers. The purpose of allowing users to hide (or systematically show and sequentially review) on-page advertising is simply to give distracted users the same control others have over such content. The user without a disability can ignore the advertisement and complete the task. The user who cannot ignore it, or TAB past it conveniently, is forced to grapple with a stumbling block that prevents them from completing a task.

Users will choose to look at advertising because it's informative. It's an important mechanism for learning about options in life. By allowing users to control when and how they see ads, they have the ability to avoid becoming frustrated by processes that prevent task completion. This allows them to see advertising as potentially useful information, not a source of frustration. The alternative is that a frustrated user will not follow up on the ad that caused the frustration.

Note

The distraction attribute may appear to have some common features with the CSS prefers-reduced-motion media feature, however there are some significant differences:

  • the distraction attribute is applying semantics at the element level, whereas the CSS media feature is presentational and semantics-free.
  • the CSS prefers-reduced-motion media feature requires that the content author also provide an alternative experience for users who have the Reduced Motion option enabled - the distraction attribute does not.
  • the CSS prefers-reduced-motion media feature anticipates a reduced presentation, the distraction attributes anticipates that the content can be minimize, re-ordered or even turned off (hidden) from the end user.

3.5.2 Examples

  1. Example using the distraction attribute in the context of an animated image.
    Example 7: Distraction Using data-distraction
    <img src="animated.gif" alt="animated banner advertising for Widgets" 
      data-distraction="sensory offer">
  2. Example using the distraction attribute in the context of a stock ticker that starts and displays upon page load.
    Example 8: Distraction Using data-distraction
    <div data-distraction="sensory messages" class="stockticker-widget-container"></div>
  3. Example using the distraction attribute in the context of a count-down timer that starts at the user’s request and updates in real-time the hours, minutes, and seconds until an event starts (or ends).
    Example 9: Distraction Using data-distraction
    <div data-distraction="sensory" class="countdown-widget-container"></div>
  4. Example using the distraction attribute in the context of an audio clip that is played each time a step in a sequence of steps on a set of web pages is completed. Some users may find this sound distracting.
    Example 10: Distraction Using data-distraction
    <audio src="step-complete.mp3" data-distraction="sensory">
  5. Example where haptic feedback is provided when items are added into a shopping cart. The user's device is fixed onto their wheelchair and the haptic feedback is distracting because it rattles the device within the mount. Implementation of this scenario may rely on the Notification API to implement the haptic feedback.

3.5.3 Characteristics

Characteristic Value
Related Concepts:
Used in Roles: All elements of the base markup
Inherits into Roles: Placeholder
Value: token list

3.5.4 Values

Value Description
messages Communication (auditory or visual) sent to or left for the user or the interface that allows interaction of text-based messages. Messages may also be automatically updating. Essential system messages should not be tagged as distractions. This includes but is not limited to WebRTC.
offer An advertisement or offer for a product, feature, service, or content that is not essential to the user's current task.
overlay Part of an application or content that is displayed over the top of other content in a secondary window or popup that blocks user interaction to the parent window. The content of the popup is not essential to the users task and was not intentionally initiated by the user.
sensory Distracting content that includes movement, sound or other forms of sensory feedback. This includes: moving images (videos, animated GIFs, etc.); content that starts automatically or is automatically updating; and elements that change locations or generate audio feedback on the user's system.

3.6 symbol

3.6.1 Description

The symbol attribute identifies the concept for symbols used in AAC devices, etc., for users who cannot process traditional written language. The symbols are an alternative vocabulary, and multiple symbol sets exist today. These various symbol sets are, unfortunately, not mutually comprehensible so the individual familiar with expression via symbol set alpha is unable to understand expressions using symbol set beta. This specification exists to provide a web-based technological mechanism to select appropriate symbols from the set an individual user knows by using the BCI concept index, the current de facto standard for cross referencing symbolic representations among symbol sets extant in the world today.

The symbol attribute accepts a numeric reference number.

A personalization-aware user agent can then augment or transform User Interfaces by:

  • converting content author text, annotated using numeric values from the BCI concept index into symbols in the user's preferred set,
  • facilitating symbol-set representation by loading and displaying symbols that the user is familiar with, so they do not have to learn new symbols across different applications environments.

Note

It is important to understand that support for the world's languages, and the translation of content from one language into another occurs between written natural languages. At no time is there any expectation of translation among symbols themselves. Such a concept remains undefined. Multiple AAC symbol sets are supported by this specification because users of one symbol set generally cannot comprehend symbols from a different symbol set. Thus this specification facilitates the expression of concepts in the AAC symbol set an individual user knows based on BCI index values as the common concept interchange.

In those natural languages where an expression can differ based on gender and verb tense, more than one BCI index value may be needed to map the expression to a symbol. In such situations content authors should join multiple BCI index values in order to map to a single conjugated symbol by using a plus (+) sign (with no spaces between the BCI index values).

When no individual codepoint exists to express the textual content, multiple BCI index values MAY be conjugated by listing two or more concept index values together, separated only by a plus (+) symbol. The order of multiple concepts should be the same as used in typical speech in the natural language of the content.

The numeric values utilized to map to symbols MUST be published BCI index values. Until such time as a W3C BCI Registry specification is available with standardized realtime URI referencing, here is a link to the BCI numbers (PDF) and additional language translations (PDF) at the time of this publication and the copyright licensing from BCI. For additional updates after publication see our best practices for symbols page.

Note

This specification is focused on allowing authors to make one-to-one mappings from parts of their content to concepts as defined by BCI. The rendering of the appropriate symbols for the user would be handled by the user agent, extension, or assistive technology. It is anticipated that symbol selection for rendering would take the form of a simple look-up.

Whilst this specification is not focused on rendering, here are some notes on the expected process, which may be of interest for authors and implementers.

  • The BCI index value may map to one rendered symbol, or possibly more than one rendered symbol, in the user's chosen symbol set. This is because the user's chosen set may not have a single symbol to represent that one concept.
  • A mapping from a BCI index value to the user's chosen symbol set would exist, enabling a user agent to render one (or more) symbols for that index value.
  • An extensible, standard mapping URI resource utilizing a W3C Registry will be developed for BCI concepts also cross-referencing corresponding symbols in multiple, available symbol sets.
  • Authors should not assume that one index value maps to one symbol—though authors should not need to make any assumptions about rendering, other than ensuring their content can be resized and will reflow, as per WCAG 2.1 Success Criteria 1.4.4 Resize Text and 1.4.10 Reflow.

3.6.2 Examples

Here are some examples using the symbol attribute.

  1. Symbols for individual words.
    Example 11: Symbols for individual words
    <span data-symbol="13621">Cup</span> of <span data-symbol="17511">Tea</span>
  2. Symbols used with an image (alt text represented as a symbol).
    Example 12: Symbols used with an image
    <img src="cup.png" data-symbol="13621" alt="Cup"/>
  3. Symbols with conjugation. In this example a symbol is used for "her name" for the conjugated Hebrew word, שמה. The plus sign is used with no spaces to join the conjugated values, "her" (14707) and "name" (15691). If the gender is not important, you can just use the value for name (15691).
    Example 13: Symbols with conjugation
    <img src="her-name.png" alt="שמה" data-symbol="15691+14707"/>

3.6.3 Characteristics

Characteristic Value
Related Concepts:
Used in Roles: All elements of the base markup
Inherits into Roles: Placeholder
Value: URI

4. Privacy and Security Considerations

This specification adds context information about content to the document, and should not affect security.

Although this specification does not expose personal preferences and personal information, third party user agents or proxy server(s) acting upon our semantic information may need to store personal preferences on how to present content to a specific user. It is recommended that any user agent or proxy server implements best practices to protect all personal preferences and personal information.

Any user agent with user settings are recommended to follow best practices to keep user information secure.

The Privacy and Security Considerations of WAI-Adapt: Content Module is also discussed at issue #131.

A. Acknowledgments

This section is non-normative.

The following people contributed to the development of this document.

A.1 Participants active in the WAI-Adapt TF at the time of publication

A.2 Other WAI-Adapt TF contributors, commenters, and previously active participants

A.3 Enabling funders

This publication has been funded initially under contract number ED-OSE-10-C-0067, then under contract number HHSP23301500054C, and now under HHS75P00120P00168. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Health and Human Services, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government. Some of the work on this project has also received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No.780529 and 643399.

B. References

B.1 Informative references

[adapt]
WAI-Adapt Explainer. Lisa Seeman-Horwitz; Charles LaPierre; John Foliot; Michael Cooper; Ruoxi Ran; Richard Schwerdtfeger. W3C. 9 June 2022. W3C Working Group Note. URL: https://www.w3.org/TR/adapt/
[DOM4]
DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
[HTML]
HTML. HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[microdata]
HTML Microdata. Chaals Nevile; Dan Brickley; Ian Hickson. W3C. 28 January 2021. W3C Working Group Note. URL: https://html.spec.whatwg.org/multipage/microdata.html
[rdfa-primer]
RDFa 1.1 Primer - Third Edition. Ivan Herman; Ben Adida; Manu Sporny; Mark Birbeck. W3C. 17 March 2015. W3C Working Group Note. URL: https://www.w3.org/TR/rdfa-primer/
[SVG2]
Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: https://www.w3.org/TR/SVG2/
[swbp-skos-core-guide]
SKOS Core Guide. Alistair Miles; Dan Brickley. W3C. 2 November 2005. W3C Working Draft. URL: https://www.w3.org/TR/swbp-skos-core-guide/
[WCAG21]
Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O'Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/