Skip to content

All The Accessibility Changes - #3319

Open
akshayverma28 wants to merge 1 commit into
LambdaTest:stagefrom
akshayverma28:accessibility-android-rules
Open

All The Accessibility Changes#3319
akshayverma28 wants to merge 1 commit into
LambdaTest:stagefrom
akshayverma28:accessibility-android-rules

Conversation

@akshayverma28

Copy link
Copy Markdown
Contributor

No description provided.

Comment on lines +26 to +35
## Common failure patterns

- marketing-driven all-caps or camel-case strings ("BUY NOW", "LogIn") baked into the source text
- hyphenated labels with inconsistent casing ("Sign-in", "Check-out")

## Remediation guidance

- use sentence case (e.g., "Save changes") in the underlying string instead of all caps or inconsistent capitalization
- if a stylized all-caps look is desired visually, apply it through styling (`android:textAllCaps`) rather than in the source string, so the underlying accessible text remains normally cased
- check hyphenated labels render as "Sign-In" style, not "Sign-in"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Why lowercase and not sentence casing?

@@ -0,0 +1,40 @@
---
id: accessibility-android-rule-button-capitalization-check

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

What are ids here? Will it be visible in any docs to readers?

Want to make sure because when we add support for rules deselection in automation this might confuse with the rule id that we'll use (same as the ones we use internally for all rules) in docs that would be used in automation scripts.

Comment on lines +39 to +43
| Missing Button Element Label | 4.1.2 | [Rule →](/support/docs/accessibility-ios-rule-missing-button-element-label/) |
| Button Element Capitalisation Check | 3.1.6 | [Rule →](/support/docs/accessibility-ios-rule-button-element-capitalisation-check/) |
| Missing Checkbox Element Label | 1.3.1 | [Rule →](/support/docs/accessibility-ios-rule-missing-checkbox-element-label/) |
| Missing Editable Element Label | 1.3.1 | [Rule →](/support/docs/accessibility-ios-rule-missing-editable-element-label/) |
| Missing Switch Element Label | 1.3.1 | [Rule →](/support/docs/accessibility-ios-rule-missing-switch-element-label/) |
| Missing Checkbox Element Label | 4.1.2 | [Rule →](/support/docs/accessibility-ios-rule-missing-checkbox-element-label/) |
| Missing Editable Element Label | 4.1.2 | [Rule →](/support/docs/accessibility-ios-rule-missing-editable-element-label/) |
| Missing Switch Element Label | 4.1.2 | [Rule →](/support/docs/accessibility-ios-rule-missing-switch-element-label/) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

These were correctly 1.3.1 only? according to the SC we show for them on ios currently.

Comment on lines +22 to +26
| Missing Button Element Label | 4.1.2 | [Rule →](/support/docs/accessibility-ios-rule-missing-button-element-label/) |
| Button Element Capitalisation Check | 3.1.6 | [Rule →](/support/docs/accessibility-ios-rule-button-element-capitalisation-check/) |
| Missing Checkbox Element Label | 1.3.1 | [Rule →](/support/docs/accessibility-ios-rule-missing-checkbox-element-label/) |
| Missing Editable Element Label | 1.3.1 | [Rule →](/support/docs/accessibility-ios-rule-missing-editable-element-label/) |
| Missing Switch Element Label | 1.3.1 | [Rule →](/support/docs/accessibility-ios-rule-missing-switch-element-label/) |
| Missing Checkbox Element Label | 4.1.2 | [Rule →](/support/docs/accessibility-ios-rule-missing-checkbox-element-label/) |
| Missing Editable Element Label | 4.1.2 | [Rule →](/support/docs/accessibility-ios-rule-missing-editable-element-label/) |
| Missing Switch Element Label | 4.1.2 | [Rule →](/support/docs/accessibility-ios-rule-missing-switch-element-label/) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

same issue

@@ -0,0 +1,34 @@
# Duplicate Accessibility Label

> For the full site index for AI agents, see [llms.txt](https://www.testmuai.com/support/docs/llms.txt).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

why this here?

Noticed the same on multiple non AI rules, please check if intended

The scanner examines whether on-screen text is sized in `sp` (scale-independent pixels) — the only Android text unit that responds to the user's system-wide font-size preference. Text sized in fixed units (`dp`, `px`, `pt`, `in`, `mm`) renders at a fixed size no matter what the user configures.

:::note
The required device data is available on Android 11+ only; on older devices the rule reports **Incomplete** rather than passing silently.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

on older devices the rule reports Incomplete rather than passing silently.

Don't use this line as that is marked only internally, we consider incomplete as pass only and its passed silently


- identify nouns — find words like "button", "link", or "icon" in the label
- strip the string — remove the noun (e.g., "Settings Icon" becomes "Settings")
- assign a programmatic role instead — use the `Button` class, or `role = Role.Button` in Compose, so TalkBack announces it once, correctly

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

in hindsight , lets not go with "noun", we can make it more accurate by:

## Remediation guidance

- identify role keywords — find words like "button", "link", or "icon" in the label that describe the control's type
- remove them — "Settings Icon" becomes "Settings"
- assign the role programmatically instead — use the `Button` class, or `role = Role.Button` in Compose, so TalkBack announces it once, correctly

:::info WCAG Reference
**Maps to:** WCAG 1.3.1 Info and Relationships | **Applies to:** WCAG 2.0, WCAG 2.1, WCAG 2.2
**Introduced in:** WCAG 2.0 | **Level:** A | [Read the official specification →](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html)
**Maps to:** WCAG 4.1.2 Name, Role, Value | **Applies to:** WCAG 2.0, WCAG 2.1, WCAG 2.2

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

same issue shared above

Comment on lines +3 to +4
> For the full site index for AI agents, see [llms.txt](https://www.testmuai.com/support/docs/llms.txt).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

here as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants