Personalization Semantics Content Module 1.0

W3C Editor's Draft

This version:
https://w3c.github.io/personalization-semantics/content/
Latest published version:
https://www.w3.org/TR/personalization-semantics-content-1.0/
Latest editor's draft:
https://w3c.github.io/personalization-semantics/content/
Editors:
(Benetech)
(W3C)
(W3C)
Richard Schwerdtfeger (Knowbility) (Editor until October 2017)

Abstract

This document provides a vocabulary of terms that can be used to enhance web content with information about controls, symbols, and user interface elements. User agents use these semantics to augment or adapt content to the user scenario. This helps the user use and understand the content, and supports simplification and management of distractions.

Personalization Semantics Content Module is a part of Personalization Semantics, which is introduced in the Personalization Semantics Explainer 1.0 [personalization-semantics-1.0].

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. 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 Rich Internet Applications Working Group as an Editor's Draft.

Comments regarding this document are welcome. Please send them to public-personalization-tf@w3.org (archives).

Publication as an Editor's Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

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 1 February 2018 W3C Process Document.

1. Introduction

This section is non-normative.

This document is an extension of Personalization Semantics Explainer 1.0. it provided vocabularies that enables user agents to augment or adapt content to the user scenario and helps the user use and understand the content. It includes use cases and vocabularies for identifying the purpose of controls, symbols and user interface elements and supports simplification and distractions.

Editor's note

Personalization semantics defines a set of properties and values to annotate content. The specific mechanism to apply these properties to content has not been decided. Several approaches are under consideration and future drafts will show progress. To help with understanding of the properties, this document provides many examples of personalization semantics applied to content, which show attributes beginning with the prefix "aui-". This has not been decided as the chosen approach, but the simplicity supports understanding of the examples.

2. Use Cases

2.1 Simplification

Requirement: The user must be able to request a way to identify and differentiate between critical features, medium features and less important features. These need to be defined as important from a user perspective in the content. Typically, critical features may be used by many or most users, 90% of the time or more. Highly important features would be above 60% use. Medium important features would be 20% of users use it 20% of the time. Under 20% usage would be of low importance.

User experience: Based on personalization setting the user can see less options. A sample user experience is available at https://rawgit.com/ayelet-seeman/coga.personalisation/demo/conactUs.html

Relevant properties: simplification

2.2 Adding Context

Requirement: Having familiar terms and symbols is key to being able to use the web. However, what is familiar for one user may be strange for another, requiring them to learn new symbols. If a user agent or script knows the context of links, buttons, and other page elements then symbols and text used can be ones that the user understands. This can include:

For that we need to standardize supportive syntax and terms that can be linked to associated symbols, terms, translations and explanations, for the individual, via an attribute.

Example user experience: If an author gives to a button a role "send" then, without any work by the author, the button could be automatically rendered with a symbol, term, and/or tooltips that is understandable by a particular user. It could automatically imply F1 help that explains the send function in simple terms. It could be identified with a keyboard shortcut that will always be used for send. In addition, it could be identified as important and always rendered, or rendered as a large button. This would enable a consistent UI experience across applications and websites.

Relevant properties: action, destination, field

2.2.1 General Context

Requirement: One important factor in optimizing the personalization of a product or service is to ensure that the personalization is appropriate for the current context of use as well as what is relevant for the user. For example a female user with a cognitive disability may need less options, and options that are for men are less likely to be relevant for her and may be demoted to below the scroll or placed under a "more option" button.

Relevant properties: context

2.2.2 Interoperable Symbols

Requirement: We would like to create interoperable symbol sets for those with complex communication needs using Alternative and Augmentative Communication (AAC) systems. AAC systems designed for people who are non-verbal often use symbols with or without text. End-users tend to only learn one symbol set and cannot easily communicate with other symbol users in a written format or may struggle to understand different symbols used in different applications. Some symbols are subject to copyright and cannot be shared across applications. However, there are open symbol sets that can be shared and mapped against concepts, generating representative text. This text can be translated into different languages and even used to present a different set of symbols. If users' symbols are mapped to the same concepts then user agents can load the user understandable symbols and enable access to the web and other applications.

User experience: AAC users, those working with AAC users and others will be able to load symbols that they understand into different applications that have been made by a different provider.

Relevant properties: concept

3. Content

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".

3.1.2 Example

The below example section show how action used when coding.

Example 1: Action Using ARIA
For example: <button aui-action="undo" >Revert</button>

A personalization 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.

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 could be supported values of 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
compose compose new item such as an email. (Implied simplification = "critical".)
next move to the next item in the series. (Implied simplification = "critical".)
delete delete current item, selected control or text
previous move to the previous item in the series. (Implied simplification = "critical".)
toc opens a table of content
submit submits the form data or request to the server. (Implied simplification = "critical".)
confirm confirms the form request to the server. For example, an "ok" button. (Implied simplification = "critical".)
undo revert to the state before the user's most recent changes
cancel closes the dialog and discards any changes the user may have made within that dialog. (Implied simplification = "critical".)
reset resets all the controls to their initial values
label add label to the selected item or the item at the current location.
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".)
checkout proceed to the purchasing process. (Implied simplification = "critical".)
add add the selected item or the item at the current location to a list
move Changes the position of a selected item(s). Often used with left, right, begin, end, increase (up) or decrease (down)
save save the current content. (Implied simplification = "critical".)
send send a form, email or request. (Implied simplification = "critical".)
close close current dialog. (Implied simplification = "critical".)
more show more information
print print current page, selection or the item at the current location
received open received folder
sent open sent folder
edit edit current item, selection or the item at the current location
forward forward to current item such as an email
reply reply to current item such as an email. (Implied simplification = "critical".)
upload upload file to the server
download download file from the server
connect connect a communication channel
open open item. (Implied simplification = "critical".)
new open new item. (Implied simplification= "critical".)
settings open settings and options
mode change the mode or functionality. (Implied simplification= "critical".)
increase increases the level of the relevant setting. (Implied simplification= "critical".)
decrease decreases the level of the relevant setting. (Implied simplification= "critical".)
play play a multimedia, audio or video element or object. (Implied simplification= "critical".)
pause pause a multimedia, audio or video element or object. (Implied simplification= "critical".)
captions show the settings for captions and subtitles.
mute mute or toggle the mute option.
volume change or show the settings for the volume. (Implied simplification = "critical".)
channel change or show the settings for the channel. (Implied simplification = "critical".)
temperature change or show the settings for the temperature. (Implied simplification = "critical".)
brightness change or show the settings for the brightness.
profile opens the user's profile page
expand expand or unexpand the current item
refresh manually refresh the current contents of the screen
properties shows the properties of the item
help opens a help function. (Implied simplification= "critical".)
cut removes the selected control, item or text and places it on the clipboard
copy copies the selected control, item or text onto the clipboard
paste paste the content from the clipboard to the current position
color opens a color picker
date opens a date control. (Implied simplification= "critical".)
remove remove an item from a list
right moves a selected item to the right to another column or list
left moves a selected item to the left to another column or list
skip skips the current step, typically used a in a sequence of steps
scroll advances the view. Often used with left, right, begin, end, increase (up) or decrease (down)
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.
voiceCommands activate or deactivate voice commands. Often used with [aria-pressed = "true"] for on or [aria-pressed = "false"] for off.
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.
drag enables a dragged and dropped capabilities. Often used with [aria-pressed = "true"] for on or [aria-pressed = "false"] for off.
re-size increase or decrease font size. Often used with increase or decrease.
order Changes of the selected item position within list items, while each item in the list has a layer position Often used with increase (forward), decrease (back), first and end.
mediaPosition adjust the current playback position in the current media
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.
volume adjust the volume of a multi media component. Often used with increase or decrease but is sometimes used alone as a menu name or item.
channel adjust the channel of a multi media component. Often used with increase or decrease but is sometimes used alone as a menu name or item.
temperature adjust the temperature. Often used with increase or decrease but is sometimes used alone as a menu name or item.
brightness adjust the screen or application brightness. Often used with increase or decrease but is sometimes used alone as a menu name or item.
mediaPosition Adjust the current playback position in the current media.
Editor's note
At risk pending implemetions.
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.
Editor's note
At risk pending implemetions.
volume adjust the volume of a multi media component. Often used with increase or decrease but is sometimes used alone as a menu name or item.
Editor's note
At risk pending implemetions.
channel adjust the channel of a multi media component. Often used with increase or decrease but is sometimes used alone as a menu name or item.
Editor's note
At risk pending implemetions.
temperature adjust the temperature. Often used with increase or decrease but is sometimes used alone as a menu name or item.
Editor's note
At risk pending implemetions.
brightness adjust the screen or application brightness. Often used with increase or decrease but is sometimes used alone as a menu name or item.
Editor's note
At risk pending implemetions.

3.2 destination

3.2.1 Description

The destination term 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, or 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.

3.2.2 Example

The below example section show how destination used when coding.

Example 2: Action Using ARIA
      <a href="home.html" aui-destination="home">our main page</a>
See the destination sample user experience.

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
home initial or main page of a website or application
contact opens contact information for content owner or producer
phone phone content owner or producer
email email content owner or producer
sitemap content containing a list of pages in a web site
accessibilityStatement information about the accessibility in a web site or web content
help a help function, support or instructions
chat Human help or a dialog help function such as a chat bot
about information about the content owner or producer
terms terms and conditions
tools available tools for the current content
services services available from the content provider
products products available from the content provider
comment submit a comment on the current item
language language options
signin sign in to current web site or application
signout sign out current web site or application
register register for the current web site or application
social content provider on social media. Note, that the specific name of the social media platform should be included in the accessible name.
Editor's note
At risk pending implemetions.
post post current item. Item will be visible to other parties.
begin Changes the location to the beginning item from a list of items or redirects functionality to the first step in a sequence.
end Changes the location to the end item from a list of items or redirects functionality to the last step in a sequence.
left Changes the location of the selected item(s) to the left.
right Changes the location of the selected item(s) to the right.
related Adds a related item(s) to a pre-selected list of items.
related Adds a related item(s) to a pre-selected list of items.

3.3 field

3.3.1 Description

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

A personalization 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 and adding an icon.

field values that would typically be on form controls and would have a user context - for example phone would relate to the user's phone. Note that there is no default value.

Note they can be more then one value for a field, such as aui-field="country postcode"

3.3.2 Example

The below example section show how field used when coding.

         <input type="text" name="telnum" aui-field="tel"/>
		

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

Value Description
name full name
honorificPrefix prefix or title (Mr., Mrs. Dr., etc.)
givenName given or first name
additionalName additional or middle name
additionalNameInitial additional or middle name initial
familyName family name, surname, or last name
honorificSuffix suffix (Jr., II, etc.)
nickname nickname
streetAddress full street address condensed into one line
addressLine1 first line of street address
addressLine2 second line of street address
addressLine3 third line of street address
city locality or city
area administrative area, state, province, or region
postalcode postal or ZIP code
country country name
fax full fax number, including country code
faxCountryCode international country code
faxNational national fax number: full number minus country code
faxAreaCode area code
faxLocal local fax number: full number minus country and area codes
faxExtension fax extension number
email email address
tel full phone number, including country code
telCountryCode international country code
telNational national phone number: full number minus country code
telAreaCode area code
telLocal local phone number: full number minus country and area codes
telExtension phone extension number
ccName full name, as it appears on credit card
ccType type of payment instrument (e.g. Visa). Note that there may be a change to allow for adding options.
ccNumber credit card number
ccExpMonth month of expiration of credit card
ccExpYear year of expiration of credit card
ccExp date of expiration of credit card
ccCsc credit card security code
language preferred language
bday birthday
bdayYear year of birthday
bdayMonth month of birthday
bdayDay day of birthday
day of birthday
transactionCurrency the monetary system being used for the transaction. Note that there may be a change to allow for adding options
transactionAmount the amount that the user is committing to for a transaction. (Often used when entering a bid or sale price.)
topic Topic for the form. Typically selected from a list of reserved words
comment comment section. Typically a free text field
subject form subject. Typically a free text field
answer answer to a section question
org company or organization
position user's position or title within company or organization
sex sex or gender
gender gender identity
url Website URL
photo photo or avatar
section-***** used to group forms together
timeStart Set the start time or the time of an event.
Note
We may remove this or harmonize with other date time standards.
Editor's note
At risk pending implemetions.
timeEnd Set the end time of an event.
Note
We may remove this or harmonize with other date time standards.
Editor's note
At risk pending implemetions.
dateStart Set the start date or the date of an event.
Note
We may remove this or harmonize with other date time standards.
Editor's note
At risk pending implemetions.
dateEnd Set the end time of an event
Note
We may remove this or harmonize with other date time standards.
Editor's note
At risk pending implemetions.

3.4 simplification

3.4.1 Description

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

This allows simplified interfaces with less options or interfaces that emphasize critical features. Adaptations can be based on personalization settings.

Editor's note

This was formerly importance. However different people may feel that sections that would be hidden in a simplified version are still very important, such as marketing content or legal terms.)

Note

These semantics aid simplification. But what content is most useful to a user varies from user to user. For example, men may be more interested in men's clothing, and may not be interested in the more frequently use women's clothing option. For that reason we may add context for elements that will help the personalization agent select the most useful content for a given user (see the context attribute). This is also necessary for reminders (see below).

It is worth mentioning that a lot of this information is known for personalization of advertisements and content optimization.

3.4.2 Example

The below example section show how simplification used when coding.

Example: Simplification Using ARIA
<input aui-simplification="critical" value="Submit" type="submit"/>

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 This setting should be used on:
  • Elements that are essential for the key function (from the user perspective) of the page. Example: The send button for an email draft in an email application.
  • Elements that are sometimes critical to use the site, such as "save my work" or "emergency instructions".
  • Elements that are used by over 90% of a user group (such as parents or teachers) most times they interact with the content.
medium (default) This setting should be used on:
  • Elements 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.
  • Elements that are sometimes important for a user to interact with the site, such as settings to change colors or fonts.
  • Elements that are used by over 60% of a user group (such as parents or teachers) when they interact with the content.
low This setting should be used on elements 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

This attribute should be used on non essential, detracting content, so that people who have problems keeping focus can turn them off. An example user experiences would be to hide all distraction content.

Supported values: animations, auto-starting, moving, ad, message, chat , overlay, popup
Auto-changing (logs) third-party, offer ( includes suggestions).

Note that there is no default value.

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

3.5.2 Example

The below example section shows how distraction is used when coding.

Example: Distraction Using ARIA
<img src="animated.gif" alt="animated banner advertising for Foobars" aui-distraction="moving ad">

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
ad An advertisement or offer for a product, feature or service that is under the authors' control and is not part of an activity where it is essential.
animations computer-generated moving images. Animations are also autoUpdating.
autoUpdating Information that starts automatically and is presented in parallel with other content that updates frequently without user interaction unless the auto-updating is part of an activity where it is essential.
autoStarting Information that starts automatically without user interaction that is presented in parallel with other content.
chat An interface that allows real-time interaction of text-based messages between a sender and a receiver.
message communication sent to or left for the user
moving Elements that change locations on the screen without user interaction.
overlay A part of an application or content that is displayed over the top of the main content in the same window.
popup A child window that blocks user interaction to the parent window.
thirdParty Content that is not under the author’s control.

3.6 symbol

3.6.1 Description

symbol identifies the concept for symbols.

symbol accepts the values of a URI or shortened URI. Note that namespaces are the only additional parsing that maybe required to identify the concept.

A personalization agent can then load alternative symbols that the user is familiar with and they do not have to learn new symbols for different applications.

Note

To help this be interoperable without an RDF parser we recommend referencing the most commonly used ontologies and the highest level concept. (For example, reference "girl" and not "young girl" .)

Editor's note

We should have a note of common suggested terms and references. (Maybe with links to http://www.arasaac.org/)

3.6.2 Example

The below example section show how symbol used when coding.

Example: Symbol Using ARIA
<img aui-symbol="http://blisssymbolics.org/refnumber/001" href="mysymb.bmp" >

When there is more than one concept, multiple concepts can be referenced by separating them with white space. The order of multiple concepts should be subject predicate object. Both omissions and multiple triples are allowed.

3.6.3 Characteristics

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

A. Vocabulary Implementations

The vocabulary implementations of this document is available at Personalization Explainer 1.0 Vocabulary Implementations section.

B. Acknowledgments

This section is non-normative.

The following people contributed to the development of this document.

B.1 Participants active in the Personalization TF at the time of publication

B.2 Other Personalization TF contributors, commenters, and previously active participants

B.3 Enabling funders

This publication has been funded in part with U.S. Federal funds from the Health and Human Services, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR) under contract number HHSP23301500054C. 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.

C. References

C.1 Informative references

[DOM4]
DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
[HTML5]
HTML5. Ian Hickson; Robin Berjon; Steve Faulkner; Travis Leithead; Erika Doyle Navara; Theresa O'Connor; Silvia Pfeiffer. W3C. 27 March 2018. W3C Recommendation. URL: https://www.w3.org/TR/html5/
[HTML52]
HTML 5.2. Steve Faulkner; Arron Eicholz; Travis Leithead; Alex Danilo; Sangwhan Moon. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/html52/
[microdata]
HTML Microdata. Charles McCathie Nevile; Dan Brickley; Ian Hickson. W3C. 26 April 2018. W3C Working Draft. URL: https://www.w3.org/TR/microdata/
[personalization-semantics-1.0]
Personalization Semantics Explainer 1.0. Lisa Seeman-Kestenbaum; Charles LaPierre; Richard Schwerdtfeger; Michael Cooper; Ruoxi Ran. W3C. 16 March 2018. W3C Working Draft. URL: https://www.w3.org/TR/personalization-semantics-1.0/
[SVG2]
Scalable Vector Graphics (SVG) 2. Nikos Andronikos; Rossen Atanassov; Tavmjong Bah; Amelia Bellamy-Royds; Brian Birtles; Cyril Concolato; Erik Dahlström; Chris Lilley; Cameron McCormack; Doug Schepers; Dirk Schulze; Richard Schwerdtfeger; Satoru Takagi; Jonathan Watt et al. W3C. W3C Working Draft. URL: http://www.w3.org/TR/2015/WD-SVG2-20150915/