Skip to content

Commit

Permalink
Merge branch 'develop' into giacomo-petri-2779a5-removed-passed-examp…
Browse files Browse the repository at this point in the history
…le-2-ambiguity
  • Loading branch information
Jym77 authored Aug 2, 2024
2 parents ff3b977 + d9a44b4 commit f1dcf8d
Show file tree
Hide file tree
Showing 11 changed files with 59 additions and 44 deletions.
4 changes: 4 additions & 0 deletions __tests__/spelling-ignore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
# Notes and acronyms
- TODO
- TBD
- CJK

# Tool and library names
- axe-core
Expand Down Expand Up @@ -244,6 +245,9 @@
- 000B
- 000C
- 000D
- 4E00
- 9FFF
- 4E00–9FFF

# JSON attributes/ metadata/ methods
- testcases
Expand Down
2 changes: 1 addition & 1 deletion __tests__/spelling.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ function getCuratedMarkdownBody(body, options = {}) {
* @returns {String[]}
*/
function getSpellIgnored() {
const ignoreConfigured = yaml.safeLoad(fs.readFileSync('./__tests__/spelling-ignore.yml', 'utf8'))
const ignoreConfigured = yaml.safeLoad(fs.readFileSync('./__tests__/spelling-ignore.yml', 'utf8'), {schema: yaml.FAILSAFE_SCHEMA}) //added schema due to entries starting with a non-zero digit

/*
Building spelling exception in the shape FOOxxx where xxx is a number.
Expand Down
4 changes: 2 additions & 2 deletions _rules/auto-play-audio-has-control-mechanism-4c31df.md
Original file line number Diff line number Diff line change
Expand Up @@ -267,8 +267,8 @@ The `src` file of this `video` element has no audio output.

```html
<video autoplay>
<source src="/test-assets/rabbit-video/video-with-incorrect-voiceover.mp4" type="video/mp4" />
<source src="/test-assets/rabbit-video/video-with-incorrect-voiceover.webm" type="video/webm" />
<source src="/test-assets/rabbit-video/silent.mp4" type="video/mp4" />
<source src="/test-assets/rabbit-video/silent.webm" type="video/webm" />
</video>
```

Expand Down
9 changes: 1 addition & 8 deletions _rules/autocomplete-valid-value-73f2c2.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ The purpose of a control is programmatically identifiable even when its `autocom
- Implementation of [Presentational Roles Conflict Resolution][] varies from one browser or assistive technology to another. Depending on this, some elements can have a [semantic role][] of `none` and fail this rule with some technology but users of other technologies would not experience any accessibility issue.
- Some user agents treat the value of the `aria-disabled` attribute as case-sensitive.
- In some user agents, querying the value of the `autocomplete` property returns an empty string ("") even when the attribute was set according to the rule's expectations. It affects assistive technologies which rely on this property to personalize input fields collecting information about the user.
- Authors may assign inappropriate `autocomplete` attribute values. Moreover, HTML specifications restrict certain `autocomplete` attribute values to specific form controls. Mismatches between `autocomplete` attribute values and form control types may or may not lead to a failure of [Success Criterion 1.3.5 Identify Input Purpose](https://www.w3.org/TR/WCAG22/#identify-input-purpose). However, this rule focuses exclusively on validating valid `autocomplete` attribute values, disregarding their contextual appropriateness.

## Background

Expand Down Expand Up @@ -147,14 +148,6 @@ This `autocomplete` [attribute value][] list includes all allowed types of token

#### Passed Example 8

This `autocomplete` [attribute value][] only has the required token "bday-day". It remains programmatically identifiable even though it is inappropriate for the control's `type` [attribute value][] "tel".

```html
<label>Birthday day<input name="bdayday" type="tel" autocomplete="bday-day"/></label>
```

#### Passed Example 9

This `autocomplete` [attribute value][] has the required token "current-password", followed by the optional "webauthn" token.

```html
Expand Down
4 changes: 4 additions & 0 deletions _rules/form-field-non-empty-accessible-name-e086e5.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ accessibility_requirements:
failed: not satisfied
passed: further testing needed
inapplicable: further testing needed
wcag20:1.3.1: # Info and Relationships (A)
secondary: This success criterion is **more strict** than this rule. This is because 1.3.1 Info and Relationship requires that information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text, while 4.1.2 Name, Role, Value only requires an accessible name.
wcag20:2.5.3: # Label in Name (A)
secondary: This success criterion is **more strict** than this rule. This is because 2.5.3 Label in Name requires that if a label is visible, the accessible name contains the label that is presented visually, while 4.1.2 Name, Role, Value only requires an accessible name.
input_aspects:
- Accessibility Tree
- CSS styling
Expand Down
2 changes: 1 addition & 1 deletion _rules/html-page-non-empty-title-2779a5.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ For each target element, the first [HTML][] `title` element that is a [descendan

## Assumptions

This rule assumes that [Success Criterion 2.4.2 Page Titled](https://www.w3.org/TR/WCAG22/#page-titled) does not require that a document only has one `title` element, nor that it is a child of the `head` element of a document. While this is invalid in HTML, the HTML 5.2 specification describes what should happen in case of multiple titles, and titles outside the `head` element. Because of this, neither of these validation issues causes a conformance problem for WCAG. Regardless of whether this is required by 2.4.2 Page Titled, failing this rule means the success criterion is not satisfied.
This rule assumes that [Success Criterion 2.4.2 Page Titled](https://www.w3.org/TR/WCAG22/#page-titled) does not require that a document only has one `title` element, nor that it is a child of the `head` element of a document. While this is invalid in HTML, the [HTML specification](https://html.spec.whatwg.org/multipage/dom.html#the-title-element-2) describes what should happen in case of multiple titles, and titles outside the `head` element. Because of this, neither of these validation issues causes a conformance problem for WCAG. Regardless of whether this is required by 2.4.2 Page Titled, failing this rule means the success criterion is not satisfied.

This rule assumes that the title of the page is not provided by a higher-level protocol. For example, the subject field of an email authored in HTML can provide a title without requiring a `title` element. In such a case, this rule will fail while [Success Criterion 2.4.2 Page Titled](https://www.w3.org/TR/WCAG22/#page-titled) may still be satisfied.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,8 @@ These two HTML `a` elements have the same [accessible name][] and [context][prog
<div>
<span style="text-align:center;">Contact us</span>
<span style="display:flex; justify-content:space-around;">
<img src="/test-assets/shared/chat.png" alt="Chat" style="width:50%;" />
<img src="/test-assets/shared/phone.png" alt="Phone" style="width:50%;" />
<img src="/test-assets/shared/chat.png" alt="Chat" style="max-width:50px;" />
<img src="/test-assets/shared/phone.png" alt="Phone" style="max-width:50px;" />
</span>
<span style="display:flex; justify-content:space-around;">
<a
Expand All @@ -315,8 +315,8 @@ These two HTML `a` elements have the same [accessible name][] and [context][prog
<div>
<span style="text-align:center;">Contact us</span>
<span style="display:flex; justify-content:space-around;">
<img src="/test-assets/shared/chat.png" alt="Chat" style="width:50%;" />
<img src="/test-assets/shared/phone.png" alt="Phone" style="width:50%;" />
<img src="/test-assets/shared/chat.png" alt="Chat" style="max-width:50px;" />
<img src="/test-assets/shared/phone.png" alt="Phone" style="max-width:50px;" />
</span>
<span style="display:flex; justify-content:space-around;">
<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/contact-us.html?page=3"
Expand All @@ -339,8 +339,8 @@ These two HTML `span` elements have an [explicit role][] of link, same [accessib
<div>
<span style="text-align:center;">Contact us</span>
<span style="display:flex; justify-content:space-around;">
<img src="/test-assets/shared/chat.png" alt="Chat" style="width:50%;" />
<img src="/test-assets/shared/phone.png" alt="Phone" style="width:50%;" />
<img src="/test-assets/shared/chat.png" alt="Chat" style="max-width:50px;" />
<img src="/test-assets/shared/phone.png" alt="Phone" style="max-width:50px;" />
</span>
<span style="display:flex; justify-content:space-around;">
<span
Expand All @@ -367,23 +367,13 @@ These two SVG `a` elements have the same [accessible name][] and [context][progr
```html
<html lang="en">
<p>
<svg enable-background="new 0 0 264 120" viewBox="0 -20 264 140" xmlns="http://www.w3.org/2000/svg">
<svg enable-background="new 0 0 264 120" viewBox="-5 -20 80 50" xmlns="http://www.w3.org/2000/svg" style="max-width: 300px">
<text>Contact us</text>
<a
href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/contact-us.html?page=1"
aria-label="Contact Us"
>
<path
d="m212.0806 68.0717c-10.3917 10.3852-22.4311 20.3239-27.1905 15.5646-6.8075-6.8075-11.0088-12.7418-26.0285-.6696-15.0132 12.0657-3.4792 20.1139 3.1182 26.7047 7.6149 7.6149 36.0001.407 64.0571-27.6434 28.0504-28.057 35.2386-56.4422 27.6172-64.0571-6.5974-6.604-14.6062-18.1314-26.6719-3.1182-12.0723 15.0132-6.1444 19.2145.6761 26.0285 4.7397 4.7593-5.1925 16.7988-15.5777 27.1905z"
/>
<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/contact-us.html?page=1" aria-label="Contact Us" style="scale: 0.2">
<path d="m212.0806 68.0717c-10.3917 10.3852-22.4311 20.3239-27.1905 15.5646-6.8075-6.8075-11.0088-12.7418-26.0285-.6696-15.0132 12.0657-3.4792 20.1139 3.1182 26.7047 7.6149 7.6149 36.0001.407 64.0571-27.6434 28.0504-28.057 35.2386-56.4422 27.6172-64.0571-6.5974-6.604-14.6062-18.1314-26.6719-3.1182-12.0723 15.0132-6.1444 19.2145.6761 26.0285 4.7397 4.7593-5.1925 16.7988-15.5777 27.1905z"/>
</a>
<a
href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/contact-us.html?page=2"
aria-label="Contact Us"
>
<path
d="m105 7.5h-90c-8.2576 0-15 6.7497-15 15v52.5c0 8.2498 6.7424 15 15 15h30l30 22.5v-22.5h30c8.2498 0 15-6.7502 15-15v-52.5c0-8.2503-6.7502-15-15-15zm-80.7903 52.5c-6.2132 0-11.255-5.0372-11.255-11.25 0-6.2132 5.0418-11.25 11.255-11.25 6.2128 0 11.245 5.0418 11.245 11.25 0 6.2077-5.0322 11.25-11.245 11.25zm35.7953 0c-6.2128 0-11.255-5.0372-11.255-11.25 0-6.2132 5.0423-11.25 11.255-11.25 6.2132 0 11.245 5.0368 11.245 11.25 0 6.2128-5.0317 11.25-11.245 11.25zm35.7958 0c-6.2132 0-11.2555-5.0372-11.2555-11.25 0-6.2132 5.0423-11.25 11.2555-11.25 6.2128 0 11.2445 5.0368 11.2445 11.25 0 6.2128-5.0318 11.25-11.2445 11.25z"
/>
<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/contact-us.html?page=2" aria-label="Contact Us" style="scale: 0.2">
<path d="m105 7.5h-90c-8.2576 0-15 6.7497-15 15v52.5c0 8.2498 6.7424 15 15 15h30l30 22.5v-22.5h30c8.2498 0 15-6.7502 15-15v-52.5c0-8.2503-6.7502-15-15-15zm-80.7903 52.5c-6.2132 0-11.255-5.0372-11.255-11.25 0-6.2132 5.0418-11.25 11.255-11.25 6.2128 0 11.245 5.0418 11.245 11.25 0 6.2077-5.0322 11.25-11.245 11.25zm35.7953 0c-6.2128 0-11.255-5.0372-11.255-11.25 0-6.2132 5.0423-11.25 11.255-11.25 6.2132 0 11.245 5.0368 11.245 11.25 0 6.2128-5.0317 11.25-11.245 11.25zm35.7958 0c-6.2132 0-11.2555-5.0372-11.2555-11.25 0-6.2132 5.0423-11.25 11.2555-11.25 6.2128 0 11.2445 5.0368 11.2445 11.25 0 6.2128-5.0318 11.25-11.2445 11.25z"/>
</a>
</svg>
</p>
Expand All @@ -399,8 +389,8 @@ These two HTML `a` elements with the same [accessible name][] and [context][prog
<p>
<span style="text-align:center;">Contact us</span>
<span style="display:flex; justify-content:space-around;">
<img src="/test-assets/shared/chat.png" alt="Chat" style="width:50%;" />
<img src="/test-assets/shared/phone.png" alt="Phone" style="width:50%;" />
<img src="/test-assets/shared/chat.png" alt="Chat" style="max-width:50px;" />
<img src="/test-assets/shared/phone.png" alt="Phone" style="max-width:50px;" />
</span>
<span style="display:flex; justify-content:space-around;">
<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/index.html">Contact Us</a>
Expand Down
4 changes: 4 additions & 0 deletions _rules/meta-refresh-no-delay-bc659a.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ Not all major web browsers parse the value of the `content` attribute in the sam

## Background

The `meta http-equiv="refresh"` directive is an HTML tag used to instruct browsers to automatically refresh or reload a web page after a specified time interval. This can be useful for updating content dynamically or redirecting users to another page.

The `content` attribute in the `meta http-equiv="refresh"` directive is used to define the time interval, in seconds, after which the browser should automatically refresh or reload the web page. For example, `content="5"` would instruct the browser to refresh the page every 5 seconds. Careful consideration of the refresh interval is crucial to ensure optimal user experience and accessibility, particularly for individuals who may require more time to consume or interact with web content.

Because a refresh with a timing of 0 is a redirect, it is exempt from this rule. Since this can cause rapid screen flashes it is strongly recommended to avoid this.

### Bibliography
Expand Down
4 changes: 4 additions & 0 deletions _rules/meta-refresh-no-delay-no-exception-bisz58.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ Not all major web browsers parse the value of the `content` attribute in the sam

## Background

The `meta http-equiv="refresh"` directive is an HTML tag used to instruct browsers to automatically refresh or reload a web page after a specified time interval. This can be useful for updating content dynamically or redirecting users to another page.

The `content` attribute in the `meta http-equiv="refresh"` directive is used to define the time interval, in seconds, after which the browser should automatically refresh or reload the web page. For example, `content="5"` would instruct the browser to refresh the page every 5 seconds. Careful consideration of the refresh interval is crucial to ensure optimal user experience and accessibility, particularly for individuals who may require more time to consume or interact with web content.

Because a refresh with a timing of 0 is effectively a redirect, it is exempt from this rule. Since refreshing the same page with a time of 0 can cause rapid screen flashes it is strongly recommended to avoid this.

### Bibliography
Expand Down
12 changes: 6 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 19 additions & 3 deletions pages/glossary/large-scale-text.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,23 @@ input_aspects:
- DOM tree
---

Text nodes with a [computed](https://www.w3.org/TR/css-cascade-3/#computed-value) [font-size](https://www.w3.org/TR/css-fonts-3/#propdef-font-size) of:
A text node is large scale text if at least one of the following is true:

- at least 18 [points](https://www.w3.org/TR/css-values/#pt), or
- at least 14 [points](https://www.w3.org/TR/css-values/#pt) and a [computed](https://www.w3.org/TR/css-cascade-3/#computed-value) [font weight](https://www.w3.org/TR/css-fonts-3/#font-weight-prop) CSS property of 700 or higher.
- the text node [computed][] [font-size][] is at least 18 [points][], or
- the text node [computed][] [font-size][] is at least 14 [points][] and has a [computed][] [font weight][] of 700 or higher.


#### Background
In the domain of languages such as Chinese, Japanese, and Korean (CJK languages), encompassing the Unicode character range from 4E00 to 9FFF ([CJK Unified Ideographs](https://unicode.org/charts/PDF/U4E00.pdf)), it becomes crucial to acknowledge the intricate nuances in their typographic requirements. Despite sharing a common Unicode spectrum, each CJK language and its corresponding country may exhibit distinct typographic preferences and standards.

Particularly noteworthy is the lack of uniformity in defining text sizes as either large or small within the following ranges:
- from 18 [points][] to 22 [points][]
- from 14 [points][] to 18 [points][] with a [computed][] [font weight][] of 700 or higher.

Whether CJK characters in these ranges should be considered as "large scale" depends on the language of the text, as well as the country for which the text is designed and whose requirements must be followed. Given that these pieces of information are not readily available, the ACT rules adhere to the large text definition outlined above. This definition is applicable across all languages under the rationale of "no false positives."


[computed]: https://www.w3.org/TR/css-cascade-3/#computed-value
[font-size]: https://www.w3.org/TR/css-fonts-3/#propdef-font-size
[points]: https://www.w3.org/TR/css-values/#pt
[font weight]: https://www.w3.org/TR/css-fonts-3/#font-weight-prop

0 comments on commit f1dcf8d

Please sign in to comment.