Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds a defintion for essential text change #1916

Draft
wants to merge 25 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6e74948
Merge pull request #1 from act-rules/develop
tbostic32 Aug 11, 2020
88cae51
Added required aria-checked attribute for menuitemradio and menuitemc…
tbostic32 Aug 11, 2020
f6e8dad
Merge branch 'develop' into develop
WilcoFiers Aug 24, 2020
8d02d2f
Merge branch 'act-rules:develop' into develop
tbostic32 Jun 29, 2021
098953c
Merge branch 'act-rules:develop' into develop
tbostic32 Jul 14, 2021
1d267c1
Adding essential text change definition.
tbostic32 Sep 7, 2022
6ec4c27
Update pages/glossary/essential-text-change.md
tbostic32 Sep 8, 2022
3518ba1
Clarifying definition and starting rule change.
tbostic32 Sep 28, 2022
269e0a3
Merge branch 'tbostic_essential_def' of https://github.com/tbostic32/…
tbostic32 Sep 28, 2022
93e6dab
Changing glossar link to make CI happy hopefully.
tbostic32 Sep 28, 2022
017ca8c
Apply suggestions from code review
tbostic32 Sep 29, 2022
ae85e2e
Apply suggestions from code review
tbostic32 Sep 29, 2022
a21c0be
Fixing definitions. Adding additional examples.
tbostic32 Sep 29, 2022
d21a3b7
Resolving merge conflict.
tbostic32 Sep 29, 2022
4cfa666
Merge branch 'develop' into tbostic_essential_def
Jym77 Oct 20, 2022
cb3f8e5
Merge branch 'develop' into tbostic_essential_def
tbostic32 Oct 24, 2022
2869186
Adding more examples to the definition.
tbostic32 Nov 29, 2022
888d096
Fixing typo
tbostic32 Nov 29, 2022
580edeb
Merge branch 'develop' into tbostic_essential_def
Jym77 Dec 1, 2022
8a7aed3
Update pages/glossary/essential-text-change.md
tbostic32 Feb 16, 2023
0213bb4
Reversing to using non-essential text change.
tbostic32 May 4, 2023
15e8c96
fixing definitions.
tbostic32 May 4, 2023
8b7d2c4
Merge branch 'develop' into tbostic_essential_def
tbostic32 May 4, 2023
a3076c5
Apply suggestions from code review
tbostic32 Jul 6, 2023
9544d6e
Merge branch 'develop' into tbostic_essential_def
tbostic32 Jul 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions _rules/auto-update-text-efbfc7.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ id: efbfc7
name: Text content that changes automatically can be paused, stopped or hidden
rule_type: atomic
description: |
This rule checks that for any text content that regularly changes automatically, there are instruments to pause, stop, or hide it or to control its changing frequency.
This rule checks that for any non-essential text content that regularly changes automatically, there are instruments to pause, stop, or hide it or to control its changing frequency.
accessibility_requirements: # Remove whatever is not applicable
wcag20:2.2.2: # Pause, Stop, Hide (A)
forConformance: true
Expand Down Expand Up @@ -34,7 +34,7 @@ This rule applies to any [HTML element][] that has a [visible][] [text node][] a

## Expectation

For each test target there is at least one set of [instruments][instrument], where each [instrument][] is in the same [web page][] as the test target or can be found in a [clearly labeled location][] from that [web page][], to achieve at least one of the following objectives:
For each test target, either it is an [essential text change][], or there is at least one set of [instruments][instrument], where each [instrument][] is in the same [web page][] as the test target or can be found in a [clearly labeled location][] from that [web page][], to achieve at least one of the following objectives:

- pause and resume the change of the [visible text content][]; or
- stop the change of the [visible text content][]; or
Expand All @@ -45,7 +45,6 @@ For each test target there is at least one set of [instruments][instrument], whe

## Assumptions

- The auto-updating of the content is not [essential][], which is listed as valid exception to [Success Criterion 2.2.2: Pause, Stop, Hide][sc 2.2.2]. When the auto-updating of content is [essential][] this rule may produce incorrect results.
- The content being changed automatically is information. If the automatically changing content is not information (for example, an ASCII rendered spinning icon that does not provide information on what time is left for a process to end or how much progress has been made) the rule might fail but the success criterion might still be satisfied.
- Any [content][] changes are enabled by the content of the [HTML document][] the test target belongs to. Changes originating from any other sources (e.g. browser shortcuts, browser extensions, browser settings, user agents, external browser applications) are not considered.
- All user actions are transmitted by the user agent to the [HTML document][]. If there are other event sources that result from a user action this rule might fail but the success criterion might still be satisfied.
Expand Down Expand Up @@ -306,7 +305,7 @@ This `span` element with text content that automatically changes multiple times
[clearly labeled location]: #clearly-labeled-location 'Definition of clearly labeled location'
[content]: https://www.w3.org/TR/WCAG21/#dfn-content
[descendant]: https://dom.spec.whatwg.org/#concept-tree-descendant
[essential]: https://www.w3.org/WAI/WCAG21/Understanding/pause-stop-hide.html#dfn-essential
[essential text change]: #essential-text-change 'Definition of essential text change'
[flat tree]: https://drafts.csswg.org/css-scoping/#flat-tree 'Definition of flat tree'
[f16]: https://www.w3.org/WAI/WCAG21/Techniques/failures/F16
[g186]: https://www.w3.org/WAI/WCAG21/Techniques/general/G186
Expand All @@ -319,3 +318,4 @@ This `span` element with text content that automatically changes multiple times
[visible text content]: #visible-text-content 'Definition of visible text content'
[visible]: #visible 'Definition of visible'
[web page]: #web-page-html 'Definition of web page'

15 changes: 15 additions & 0 deletions pages/glossary/essential-text-change.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Essential Text Change
key: essential-text-change
unambiguous: true
objective: false
input_aspects:
- Accessibility tree
- CSS styling
- DOM tree
---

An _essential text change_ occurs when the modification of the text content of an HTML element is necessary to convey accurate and timely information to the user. An _essential text change_ may appear in any of the following forms:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would something like a clock or a count-down be considered essential. For example on a new years calendar, an auctioning site counting down when the auction closes, or a ticket site counting down to when tickets go on sale?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think if it is a core functionality of the website then it would be considered essential. E.g., in a web page that is only a large clock counting down to new year then the text change of the clock would be essential.


1. Providing context - Text is changed to provide users with additional information required to understand the current state of the page. For example, while searching for results, text may change to convey that the page is *loading* to provide context to the user.
2. Live updates of important information - The content automatically updates to show the most recent information available from a data source and should not be ignored by the user. For example, updates about the users browsing sessions status or important safety information like evacuation instructions in the case of a natural disaster would constitute an Essential Text Change. Oppositely, information such as stock prices or advertisements are not important information and would not be considered an Essential Text Change.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still feels fairly open-ended. Who decides that something is important, and that the user shouldn't ignore it? I think I'd like to see a list here of scenarios what we think are essential.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would agree, though the fact that it isn't objective helps with that some. I could add a few more examples so our total list would be the examples below. Would that be sufficient?

Important information:

  1. Browsing session status (from definition)
  2. Safety information (from definition)
  3. Changing text which represents a core functionality of the web page, such as the time readings at https://www.time.gov/ or a countdown timer for an auction site (I'm not sure if this one works, as pausing it you should still be able to get something from the site)
  4. A change in text when using collaborative systems, such as a chat messenger, forum, or other collaboration software.
  5. A text change triggered by user input, such as selecting an option in a text-based adventure game.

Non-Important Information:

  1. Stock ticker information (from definition)
  2. Advertisements (from definition)
  3. Live sports scores
  4. "Rolling" updates such as job postings, or news article titles and links
  5. Countdown timer to an event that does lose opportunity for the user, such as a countdown to the start of a sports game.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that, yeah that sounds good to me.