2.5.4: Motion Actuation

Success Criterion 2.5.4 Motion Actuation (Level A): Functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when:

  • Supported Interface

    The motion is used to operate functionality through an accessibility supported interface;

  • Essential

    The motion is essential for the function and doing so would invalidate the activity.

 

 

 

 

 

 

Description

 

We sometimes see that actions/functionalities in the digital space would take place as soon as there are certain movements either with the device or user. the functionalities/actions related to  user motion or device motion are mostly seen in the mobile native apps and rarely seen in the mobile web apps. the simple examples could be shaking the device to undo the action, tilting the device to advance to the next or a previous page, gesturing towards camera to cause certain action.

 

problems/challenges

 

Although movements such as shaking, tilting, gesturing towards, seem to be easy to perform for the person who does not have disability, however, the same movements are difficult or impossible to perform for the certain group of users. Let us understand this with some scenarios how difficult it is when the actions are associated with either user or device motions

  1. If the device is mounted to the wheelchair, it is not possible for the wheelchair user to shake or tilt the device to perform action
  2. If the user is having motor disability, neither it is possible to move the device to perform action nor it is possible to gesturing towards camera to perform action
  3. If the user is having tremors, user can accidently perform unintended actions that are related to device motion (such as shaking/tilting). As a result, it is not easy for those users to use the device smoothly.
  4. Even users who do not have disabilities, but their hands are occupied, it is not possible for those users to move the device to perform action

 

In a nutshell, associating actions/functionalities with the certain movements pose problems/challenges to some group of users.

 

 

 

Solution

WCAG 2.1 introduces the new checkpoint called “2.5.4: motion actuation” to address the mentioned problems. This success Criterion states that Functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation. To put this simpler if there is any user or device motion to perform action;

  1. Authors must provide the user interface control as an alternative to perform the same action. The below are the examples
    • after inputting text at the text field, user must shake the device to undo the action. the cancel button is provided beside the text field to do the same action
    • user must shake the device to roll the dice in the app. Control is provided to roll the dice
    • user can tilt the device to advance to next and previous pages. the controls are provided to do the same action
  2. Authors must provide the settings to disable or turn off those user or device motions to prevent the accidental activations.

 

When the authors follow the above mentioned 2 points, the design is going to be inclusive and all the users including people with disabilities can perform the actions (related to movements) with not only the device or user movements but also with the simple tab or touch.

 

 

 

 

 

 

 

 

Complementary info on 2.5.4: motion actuation

This checkpoint is mostly applicable for the mobile devices and motion actuation things are built in the few native apps, but We rarely find motion actuation instances in the mobile websites.

 

 

 

Exceptions

 

There are exceptions to this success criterion.

  1. If the user motion or device motion is part of the accessibility feature, then it is an exception case. For example; eye gazing technology uses eye movements to access the computer, and this is an exception because it is assistive technology for the certain group of people with disabilities.
  2. If the device motion or user motion is an essential activity and disabling it or turning it off invalidates the entire thing then it is an exception. For example; A pedometer that relies on device motion to count steps is an example of such an essential activity.

 

References

understanding 2.5.4: Motion Actuation

 

 

 

 

 

 

 

2.5.2: Pointer Cancellation

Success Criterion 2.5.2 Pointer Cancellation (Level A): For functionality that can be operated using a single pointer, at least one of the following is true:

  • No Down-Event

    The down-event of the pointer is not used to execute any part of the function;

  • Abort or Undo
    Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion;
  • Up Reversal
    The up-event reverses any outcome of the preceding down-event;
  • Essential
    Completing the function on the down-event is essential.
    Functions that emulate a keyboard or numeric keypad key press are considered essential.

 

This requirement applies to web content that interprets pointer actions (i.e. this does not apply to actions that are required to operate the user agent or assistive technology).

 

 

Description

User interface controls should use up event for the activation. Up event is nothing pointer release but not pointer press down. All the users including people with disabilities use pointers to interact with the controls. The pointers could be mouse, touch, stylus and so on..

Problems/challenges

 

While interacting with the controls, at times users may accidentally click or touch a button or target location which triggers an unwanted action. This may happen more frequently to people with tremors, mobility impairments, or cognitive disabilities. Let us look into this with few examples.

  1. Person with hand tremors touches on the end call button in the web conferencing platform instead of mute button and as a result, the call gets disconnected
  2. Person with motor impaired touches on the submit button in the assignment form instead of cancel button and as a result, the assignment gets submitted
  3. Person with cognitive disability clicks on the close dialog element of the partially filled form and as a result, the form gets closed without saving the data

 

Therefore, it is essential that all users have a way to prevent or undo these unintended actions. If the system is not allowing to undo or prevent unintended actions that are caused by user mistake then it is going to create huge problem to people with disabilities.

Solution

 

WCAG 2.1 introduces new check point called 2.5.2 pointer cancellation”” to address mentioned problem. This success criterion emphasizes on the four things. They are;

  1. No down-event: controls are not supposed to activate the functionality with the down event. Ex: when user touches on the end call button by mistake instead of mute button then he/she can slide off the finger to cancel the action. On the similar lines, when the user touches the submit button instead of cancel button and he/she can slide off the finger from the target location and release the finger to cancel the action
  2. abort or undo: there should be mechanism provided to abort or undo the action. Ex: when user clicks on the close dialog element of the partially filled form then system should be able to throw confirmation message like do you want to save the data to undo the action.
  3. up reversal: up-event should reverse the functionality of down-event. Ex: when user press-and-hold the element with the pointer then it opens the popup. However, the popup should be dismissed as soon as user releases the pointer/up-event activation
  4. essential: it is essential to use down-events to activate few functionalities and this checkpoint is an exception for such activities. Ex: when the user is entering the data with on screen keyboard then data is going to be entered with the key press down but not key up event. On the similar lines, when user is playing on-screen piano keyboard then the keys get activated with down-event only.

 

 

If author follows the above 4 mentioned points then issues with the pointer are going to be taken care.

 

 

Complementary info on the 2.5.2: Pointer Cancellation

Pointer cancellation checkpoint does not apply to actions that are required to operate the user agent or assistive technology and this checkpoint applies to author supplied web content only. Pointer cancellation checkpoint should be taken care even for the complex actions such as drag and drop. Even though there are series of the actions present(pressing down the pointer, drag the pointer, release the pointer)  in the drag and drop, users should be able to abort the action before completion or undo the action after the completion.

 

 

 

References

 

understanding 2.5.2: Pointer Cancellation

 

 

1.3.5: Identify Input Purpose

Success Criterion 1.3.5 Identify Input Purpose (Level AA): The purpose of each input field collecting information about the user can be programmatically determined when:

 

 

 

 

Description

As you are aware of, most of the websites use the forms to collect the data and we hardly find the website that does not have form. Some websites use the form for account signup and some other uses for email subscription and much more. to put this simpler, there are many types of forms exist and forms are everywhere on the web. Having clear labels or instructions for each form field on the form helps most of the users in filling the form but it may still pose some challenges for certain disabilities to fill the form.

Problems/challenges

In spite of having clear labels or instructions for the each form field, to identify the purpose of the each form field and fill the form, it may still create challenges for the people with cognitive disabilities, people with language and memory issues, people with low dexterity, and so on.. Let us understand how these users are impacted by forms

  • Certain group of cognitive disability users find it very difficult to understand the purpose of the form fields with the help of text labels and these results difficult in filling the form
  • Low dexterity users find it difficulty in filling the form by typing the same data across the different websites
  • People who are having language and memory issues find it difficult to fill the form by remembering data of few form fields such as address, phone number and so on.
  • Dyslexia users find it difficult to fill the form by getting the spellings and numbers right

 

 

Solution

WCAG 2.1 introduces the new checkpoint called “1.3.5: identify input purpose” to address the mentioned problems with forms. This success Criterion states that the purpose of each input field collecting information about the user can be programmatically determined. To satisfy this success criterion, authors must use HTML autocomplete attribute in order to programmatically determine the input fields. In addition, the token value of autocomplete must be matched as per the section 7 of WCAG 2.1. here are some example token values of autocomplete attribute.

  • For the name input field, autocomplete=”name”
  • for the first name, autocomplete=”given-name”
  • for the last name, autocomplete=”family-name”
  • for the email , autocomplete=”email”

 

 

and like this, there are 53 such token values for autocomplete. Author needs to look at list thoroughly and define the appropriate token value based on the purpose of the input field. You might be wondering how this autocomplete attribute helps for those disabilities that stated in the problem section of this blog post. Let us understand how autocomplete helps for those users. When autocomplete is defined with appropriate token value based on the input purpose

  • cognitive disability users who cannot understand the purpose of the input field with the help of text labels will be able to understand the purpose of the input fields with the help of icons/symbols. For example, assistive technology used by cognitive disabilities insert the cake icon beside the date of birth input field when autocomplete=bday”is defined for the date of birth input field
  • it reduces the burden for low dexterity users, language disability users, dyslexia users in typing same data(ex: email), remembering the information(ex: address), and correcting the spellings across the multiple websites as it is going to auto fil the data

 

 

Complementary info on the 1.3.5: identify the input purpose

This checkpoint is applicable only for the input fields that collects the user/personal data(ex: your email) but this checkpoint is not applicable for the input fields that collects the someone else data(ex: recipient email id). Apart from that, If the purpose of the input field is not present in the section 7 of WCAG 2.1 then this checkpoint is not applicable. Moreover, type ahead(edit combobox) is not covered as part of this checkpoint. In addition, if the technology is not supported to define autocomplete attribute then this checkpoint is not applicable.

Theoretically, assistive technology of cognitive disabilities inserts the symbols/icons based on the autocomplete value that author defined, but such assistive technology is not present as of now. It is assumed that future assistive technologies will have the those capabilities.

 

 

 

References

 

Understanding 1.3.5: identify input purpose

 

 

2.1.4: Character Key Shortcuts

Success Criterion 2.1.4 Character Key Shortcuts (Level A): If a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true:

  • Turn off

    A mechanism is available to turn the shortcut off;

  • Remap

    A mechanism is available to remap the shortcut to include one or more non-printable keyboard keys (e.g., Ctrl, Alt);

  • Active only on focus

    The keyboard shortcut for a user interface component is only active when that component has focus.

 

 

 

 

 

Description

 

Some applications may have character key shortcut keys to trigger actions and this character key shortcuts help keyboard users in using the application efficiently and effectively. Before we understand how the character key shortcuts are used by different users, it is important to know what is this character key shortcuts all about

Character key shortcuts are nothing, but actions get performed/triggered as soon as user presses characters on the keyboard, and this characters include letters(upper-case and lower-case), punctuations, numbers or symbols. Let me explain you this with an example. As you all know, there is popular web Gmail application to check our emails. Gmail has provided character key shortcuts for the users to perform certain actions quickly. When user presses character “Y” in the Gmail web, for the instance, email is going to be archived. Similarly, when user presses “M”, for the instance, mails are going to be muted.

 

Problems/challenges

 

although this character key shortcuts are very helpful for the keyboard users in accessing the things quickly, it creates problems for the speech input users and low dexterity users. Let us understand how this character key shortcuts are going to create problems for those users.

As you may be aware of, speech input users use speech recognition software such as dragon to access the computers/web. While dictating the text at the text field by speech user when character key shortcuts are present then it is going to pick the character key shortcuts instead of the text is being typed at the text field. This behavior creates problem to speech input users and as a result, speech input users cannot use the application properly. On other hand, there are some keyboard users(such as users with low dexterity, users with tremors, and so on.) who are prone to hit the keys accidently. When they do so, character key shortcuts get enabled unexpectedly. This behavior ends up with frustrating experience for such users. In a nutshell, character key shortcuts create challenges/problems for the speech input users and some keyboard users(such as users with low dexterity, users with tremors, and so on.)

 

 

Solution

WCAG 2.1 introduces character key shortcuts checkpoint to address the challenges with character key shortcuts that people with disabilities face. When author follows the guidance that is provided in this checkpoint then the challenges with character key shortcuts are going to be resolved. Let us look into what guidance this checkpoint is providing

 

  1. Turnoff: users should be able to turn off/disable the character key shortcuts, so that It helps both speech input users and low dexterity users to access the applications without any difficulties
  2. Remap: users should be able to remap the shortcuts with one or more modifier keys(such as alt, shift, control, and so on…), so that It helps both speech input users and low dexterity users to access the applications without any difficulties
  3. Active only on focus: users should be able to use the character key shortcuts only when that UI component(such as listbox, dropdown, and so on…) is in focus, so that it does not create a problem for any user

 

When author follows any one of above 3 points then challenges with the character key shortcuts that I mentioned in the problem section of this blog post are going to be addressed. In a nutshell, both speech input users and low dexterity users would not face any challenges when one of above 3 points is met.

 

 

 

Exceptions

This checkpoint is not applicable for the UI components such as listboxes and drop-downs. the reason is that, even though character key shortcuts are present for those UI components, those character key shortcuts work only when the UI components are in the focus. Therefore, this checkpoint does not affect such UI components.

 

Complimentary info on 2.1.4: character key shortcuts

When users have the provision to remap the character key shortcuts then it is going to help cognitive disability users too. Remapping the character key shortcuts with user’s familiar keyboard short cuts helps the users to use the same keyboard shortcut keys across various applications and thereby, it reduces the cognitive load.

 

 

References

 

 

 

2.5.1:Pointer Gestures

Success Criterion 2.5.1 Pointer Gestures (Level A): All functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.

This requirement applies to web content that interprets pointer actions (i.e. this does not apply to actions that are required to operate the user agent or assistive technology).

 

 

 

Description

 

Problems/challenges

With the advent of smart or touch phones/devices, most of us started using the web on the mobiles. While accessing the web on mobile devices, it is quite common that users need to use certain gestures to complete the task. If those gestures are simpler then all the users including people with disabilities can use those gestures without much difficulties. However, there might be complex gestures as well to do certain tasks on the web. It may be true that people without disabilities would not have any problem in accessing those complex gestures, but A user may find it difficult or impossible to accomplish these if they have impaired fine motor control, or if they use a specialized or adapted input device such as a head pointer, eye-gaze system, or speech-controlled mouse emulation. The examples of such complex gestures are pinch to zoom, split tap(where we hold one finger and tap with other finger), 2 or 3 finger tap, 2 or 3 finger scroll, and so on.. the examples that I provided as part of complex gestures are called as multipoint gestures. Multipoint gestures are nothing, but it requires more than one touch point to activate the functionality. Since multipoint gesture require more than one touch point to activate the functionality, it is kind of problem for the people who have low dexterity/people who use  a specialized or adapted input device such as a head pointer, eye-gaze system, or speech-controlled mouse emulation in accessing the same. In addition, remembering such multipoint gestures increases cognitive load and thereby it creates problem for the people with cognitive disabilities too.

Apart from multipoint gestures, sometimes, users need to follow specific/particular path to complete certain tasks, and these gestures are called as path-based gestures. The example for such path-based gesture is swiping. When user swipes from left to right and vice-versa on the content slider  then it displays next/previous slide correspondingly. Since path-based gestures require users to follow particular path, it is kind of problem again for the people who have low dexterity in accessing the same.

 

Solution

WCAG 2.1 introduced the new checkpoint called “2.5.1:pointer gestures” to address the problems with multipoint and path-based gestures for people who have low dexterity. This success Criterion states that functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture. To satisfy this success criterion, authors need to provide an alternative mechanism for the people with motor disabilities to access those path-based and multipoint gestures. The alternative is to provide single pointer. Single pointer is nothing, but pointer input that operates with one point of contact with the screen, including single taps and clicks, double-taps and clicks, long presses, and path-based gestures. Let me explain with few examples how the single pointer is an alternative for multipoint and path-based gestures.

  1. There is map on the web. To zoom the map, user may have to pinch with 2 finger(multipoint gesture). The + and – buttons can be added on the map as alternative for the users who cannot perform such gestures
  2. There is photo gallery on the web. Users may have to swipe(path-based gesture) to display next/previous photos. The right and left arrow icons can be added on the gallery as an alternative for the users who cannot perform such gestures

 

 

Basically, providing single pointer as an alternative for the multipoint and path-based gestures enables all the users including people with disabilities in accessing all the functionalities/features on the web.

 

 

 

Exceptions

  1. This checkpoint is not applicable If Those multipoint and path-based gestures are essential to the content. For an example, signature requires path-based gesture, and it is sometimes essential
  2. This checkpoint is applicable for only author supplied gestures but not user agent, operating system, assistive technology gestures

 

 

Complimentary info on 2.5.1: pointer gestures

The end points that follow particular path considers to be path-based gesture in this success criterion. However, the end points that do not follow particular path(random path) considers to be free-form gesture and this is not considered as path-based gesture. The example of free-form is drag and drop. Although free-form gestures do need single-pointer gestures as an alternative, this seems to be difficult for the author to implement. Therefore, free-form gestures are not covered as part of this success criterion

 

 

References

Understanding success criterion 2.5.1:Pointer Gestures

 

 

 

1.4.10:Reflow

Success Criterion 1.4.10 Reflow (Level AA): Content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for:

  • Vertical scrolling content at a width equivalent to 320 CSS pixels;
  • Horizontal scrolling content at a height equivalent to 256 CSS pixels.

Except for parts of the content which require two-dimensional layout for usage or meaning.

 

 

Description

As you may be aware of, certain group of low vision users use browser zoom functionality to see the web content. However, this sometimes might be difficult to view the content by scrolling in both horizontal and vertical directions. To put it simpler, it takes lot of time and effort to read the web content by scrolling into both the directions. This is kind of problem.

WCAG 2.1 introduced the new checkpoint called “1.4.10: reflow” to address such problems for the low vision users. This success criterion requires Content to be presented without loss of information or functionality, and without requiring scrolling in two dimensions when the content is zoomed up to 400%. When authors follow this success criterion then entire web content reflows in one single column  without horizontal scrolling at 400% zoom. This enables low vision users to read the web content smoothly without horizontal scrolling.

Another important point to remember is that reflow should happen only at 400% zoom of screen resolution 1280px by 1024px but reflow need not to happen at 400% zoom of any screen resolution. This means that 400% zoom at screen resolution of 1280px(width) by 1024px(height) is nothing but 320px(width) by 256px(height). To put the things simpler, authors need to make sure that content should reflow either at 320px by 256px screen resolution or at 400
% zoom of 1280px by 1024px screen resolution. Basically, if your site is responsive then this checkpoint is almost going to be satisfied

 

Exceptions

This checkpoint is not applicable for the content that requires 2-dimensional scrolling. The reason is that such content will not deserve the meaning if it reflows in one direction. Examples of such content are data tables, videos, graphs, and so on.

 

 

Complimentary info on 1.4.10: reflow

The success criterion applies to both horizontally and vertically written languages. When 400% zoom is done on the horizontally written language content that scrolls vertically(ex: English)then it should not have horizontal scrolling. Similarly, when 400% zoom is done on the vertically written language content that scrolls horizontally then it should not have vertical scrolling. For the content that is horizontally written languages, the content should reflow vertically at 320px(width). For the content that is vertically written languages, the content should reflow horizontally at 256px(height).

It is often misunderstood that 1.4.4-resize text and 1.4.10-reflow are kind of similar, but both are different concepts. 1.4.4-resize text talks about all the content and functionality should be available at 200% zoom whereas 1.4.10-reflow talks about the all the content and functionality should be available at 400% without horizontal scrolling.

 

 

 

References

 

 

 

 

 

1.4.13-content on hover or focus

Success Criterion 1.4.13 Content on Hover or Focus (Level AA): Where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true:

Dismissible

A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content;

Hoverable

If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing;

Persistent

The additional content remains visible until the hover or focus trigger is removed, the user dismisses it, or its information is no longer valid.

Exception: The visual presentation of the additional content is controlled by the user agent and is not modified by the author.

 

Description

While browsing the web, we quiet commonly see the tooltips. These tooltips typically appear when we hover or focus on the elements. Authors use these tooltips to provide more information about the trigger/target. Tooltip content could be submenus, non-modal, help text, so on… Users without disabilities neither have any concern accessing the tooltip content nor have disruptions with the tooltip content. However, users with disabilities might have disruptions with the tooltip content as well as problems/challenges in accessing tooltip content itself. tooltips, in general, impose lot of challenges to people with disabilities and let us look into them in-detail.

Problems/challenges with the tooltips

 

  1. You might know that certain group of low vision users use screen magnifier to view the web content. When these users magnify the web content, only less portion of the web content is visible in the view port. To access the complete web content, users of magnifier need to keep on pan the screen by using pointer and view the content in the restricted area. Imagine if entire portion of the restricted view port triggers additional content/tooltip then it is difficult or impossible for the users to pan the screen without retriggering additional content, and this is going to create a very big problem for such users.
  2. You might know that certain group of low vision users use keyboard. While accessing the web, low vision users who use keyboard may encounter the unexpected tooltips when they focus on the certain elements. This unexpected behavior may create a problem for the low vision users in accessing the obscured content.
  3. You might know that certain group of low vision users use large cursors. When those users use large cursor then large cursor may overlap the additional content/tooltip that is displayed on hovering the trigger/target. To view the additional content/tooltip content in such scenarios, users of low vision might have to move the pointer from trigger/target to the additional content/tooltip content. While doing so, tooltip content sometimes may get disappeared altogether, and this makes difficult or impossible for the low vision users to access the tooltip In addition, magnifier users might also need to move their mouse pointer to tooltip content to view/access the tooltip content properly. It is impossible or difficult for such users to view/access the tooltip content if the tooltip content gets disappeared as soon as pointer off from the trigger/target.
  4. You might know that certain group of cognitive disabilities take longer time to perceive the content. While they are perceiving the tooltip content, tooltips sometimes get disappeared automatically. When tooltips disappear automatically after a while then it is going to be difficult for such users to perceive the tooltip content.

 

Solution

WCAG 2.1 introduces content on hover or focus checkpoint to address the tooltip challenges that people with disabilities face. When author follows the guidance that is provided in this checkpoint then most of the tooltip challenges are going to be resolved. Let us look into what guidance this checkpoint is providing

  1. Dismissible: tooltip content should be dismissed when user presses escape key in the keyboard unless tooltip content does not obscure any content or tooltip content displays on the white/decorative background. This condition helps to resolve the problem 1 and 2 that are mentioned in the problem section of this blog post.
  2. Hoverable: user should be able to hover the tooltip content when pointer is moved from trigger/target to the tooltip content. Basically, the tooltip content should not be disappeared as soon as pointer of from the target. This condition helps to resolve the problem 3 that is mentioned in the problem section of this blog post.
  3. Persistent: tooltip content should remain on the screen unless user dismisses it or user navigates away from both trigger and tooltip content or the instance itself is invalid. Basically, tooltip content should not be disappeared after a while. This condition helps to resolve the problem 4 that is mentioned in the problem section of this blog post.

 

 

 

When author follows these 3 conditions then most of the tooltip challenges that I mentioned in the problem section of this blog post are going to be addressed. In a nutshell, people with low vision and people with cognitive disabilities would not face most of the tooltip challenges when the conditions of this checkpoint are met.

 

 

 

 

 

 

exceptions

This checkpoint is applicable only for the author supplied tooltips but not user agent based tooltips. To give an example, tooltips that are displayed with the HTML title attribute are an exception to this checkpoint.

 

 

References

 

 

 

 

Alert role

Description

When user performs an action or submits the form on a web page then it is possible that web pages/web form may sometimes send back certain feedback. This feedback could be success message, error message, confirmation message, warning message, and so on. as soon as these messages are displayed, visual users can perceive them immediately. However, the same is not possible for the screen reader users as screen reader users may be accessing the web page elsewhere. In this context, authors can use alert role(role=”alert”) to notify such messages to the screen reader users without moving the focus.

Typically, Alert role(role=”alert”) should be used for the important, and time sensitive, information. alert role(role=”alert”) is also a live region as like aria-live. To know more about what live region is, head on to my aria-live blog post. Since role=”alert” and aria-live are live regions, authors might think that those can be used interchangeably. However, authors should not use them interchangeably as both are used for the different purpose. Let me tell you the uniqueness of role=”alert”. When role=”alert” is used by an author then user agents are going to fire system alert event if the operating system allows. You might be wondering what system alert event is going to do if it gets fired. When operating system’s system alert is fired then alerts are going to be notified to the users even though user is in the different application. Therefore, role=”alert” should be used whenever it is appropriate.

 

Author notes

  • Authors should use role=”alert” for the alert messages that user need not to close
  • Authors should not use role=”alert” for the alert messages that user needs to close. Instead, authors should use role=”alertdialog” for such alert messages
  • Aria-live=”assertive” is the implicit value for the role=”alert” and hence, authors do not need to specify this explicitly
  • Aria-atomic=”true” is the implicit value for the role=”alert” and hence, authors do not need to specify this explicitly

 

 

Code snippet

<div role=”alert”>

Your session will expire in 60 seconds.

</div>

 

 

Complementary info on role=”alert”

As soon as web page is loaded, if authors think that certain information is important for the screen reader users to know, authors can use role=”alert” on such information on page load itself. Apart from that, when role=”alert” is used by an authors then some screen readers will notify the alert with wording “alert”

 

 

References

 

 

Aria-relevant(property)

Description

As we discussed in the past, assistive technologies like screen readers may not be able to notify the changes that are happening elsewhere on the page while user is going through the web content at his/her own pace unless live region is set. As part of live regions, we covered the aria-live and aria-atomic in the past. Let us understand about aria-relevant as part of this blog post. Live regions may contain multiple changes and all of them may or may not be required for the user to notify. To control these multiple changes, authors can use aria-relevant attribute. Let me give an example. Imagine there is chat log. As soon as there is new message in the chat log, user should be notified about this change because it is relevant in this contexts. Similarly, previous chat messages sometimes may be removed from the chat log to accommodate new chat messages in the log. However, this particular change need not to be notified to the user as it does not have any meaning.

To put it simpler, Aria-relevant is an optional property for aria-live and it basically talks about what type of changes to be notified to the users within the live region. Aria-relevant accepts list of token values such as additions, removals, text, additionstext, all.

 

Author notes

 

  • Aria-relevant can be used on any base markup and it is the global attribute
  • The default value of aria-relevant is additionstext for all elements. This means that authors can leave aria-relevant to it’s default value if assistive technologies to notify about the new node as well as modified node text/modified image alt text within the accessibility tree
  • Authors can set aria-relevant to additions if assistive technologies to notify about the new node
  • Authors can set aria-relevant to removals if assistive technologies to notify about the removal node
  • Authors can set aria-relevant to text if assistive technologies to notify about the modified node text/modified image alt text
  • Authors can set aria-relevant to all if assistive technologies to notify about all the changes such as new node, removed node, modified node text/modified image alt text

 

 

Sample code snippet

<ul aria-live=”polite”

aria-relevant=”additions”>

<li>Item 1</li>

<li>Item 2</li>

<li>item 3</li>

</ul>

 

 

Complimentary info on aria-relevant

The removals value of aria-relevant attribute should be used sparingly. In other words, Authors should

not use removals value in all the contexts rather authors should use removals value whenever it makes sense for the user to notify about the removed content. To give you an example, it is important/relevant  for the user to notify about who left the meeting in the virtual meeting/conference.

Another important point to make a note of removal value is that most of the screen readers except voice over do not have great support on removal value as of now.

 

References

 

 

 

 

 

 

 

What’s probably coming in the ARIA1.2?_part2

A Quick recap

This is the continuation of part1(what’s probably going to come in ARIA1.2-part1) blog post and we pretty much covered the new roles(such as blockquote, caption, code, deletion, insertion, and so on..)  that are probably going to come in the ARIA1.2 as part of the previous blog post. Let us look into the changes that are probably going to take place on the existing attributes and roles usage in this part2 blog post.

 

Changes that are probably going to take place on the existing roles and attributes usage

Combobox(role)

There are significant changes that are going to take place for combobox role(role=”combobox”)  in ARIA 1.2. ARIA 1.1 combobox role implementation pattern is going to be no longer valid once ARIA 1.2 becomes W3C recommendation as the support of ARIA 1.1 combobox role implementation pattern is not very great. ARIA 1.2 combobox implementation pattern talks more or less ARIA 1.0 combobox implementation with aria-controls instead of aria-owns.

 

Aria-disabled(state)

Aria-disabled attribute is not going to be global attribute any more and it is allowed only in the certain roles

 

Aria-invalid(state)

Aria-invalid attribute is not going to be global attribute anymore and it is allowed only in the certain roles. The value of aria-invalid is also going to be enumerated type and it means that aria-invalid accepts certain list of token values

 

Aria-errormessage(property)

Aria-errormesage attribute is not going to be global attribute anymore and it is allowed only in the certain roles.

 

Aria-haspopup(property)

Aria-haspopup attribute is not going to be global attribute anymore and it is allowed only in the certain roles.

 

Aria-expanded(state)

There are significant changes to aria-expanded attribute in terms of which role should allow and which role should not. Aria-expanded attribute is going to be allowed in the menuitem role, checkbox role and application role. In addition, aria-expanded attribute is not going to be allowed on many roles(such as alert, alert dialog, article, main, banner, contentinfo, and so on.)

 

Listbox(role)

Group role has been added as child of listbox role

 

The role(s) that is probably going to be deprecated

Directory

Directory role is going to be deprecated

 

Minor changes that are probably going to take place on the existing roles and attributes

  • The below roles are not going to have any default value(aria-checked)
    • Checkbox
    • Menuitemcheckbox
    • Menuitemradio
    • Switch
  •  

  • Checkbox role is going to support aria-required property
  • List role is not going to allow group role as it’s children
  • Row role in the context of treegrid is going to allow aria-positionset and aria-setsize attributes
  • Math role is going to allow children
  • Grid role is not going to allow aria-level as it’s supported attribute
  • Aria-valuemin and aria-valuemax are going to supported attributes for the below roles instead of required attributes
    • Separator
    • Slider
    • Scrollbar
  • Aria-orientation is going to be supported attribute for the scrollbar role instead of required attribute
  • The default value of aria-valuenow attribute for the spinbutton role is going to be 0
  • Spin button role is going to support aria-valuetext attribute
  • Default value of the aria-valuemin and aria-valuemax for spinbutton role is not going to be present
  • Certain roles(such as log, timer, and so on.) are not going to require accessible name

 

 

Editorial changes that are probably going to take place on the below roles and attributes

 

  • Alertdialog role
  • Alert role
  • Rowheader

 

Do you have a feedback on these proposed changes?

ARIA WG opened ARIA 1.2 for the public review around couple of months ago and feedback can be submitted in the W3C ARIA GitHub repository or can be emailed to public-aria@w3.org. ARIA 1.2 is probably going to be come candidate recommendation(CR) in a month or so. Later this year, hoping that it is going to be become W3C recommendation too

References