Accessbility Updates - #3594
Accessbility Updates#3594
Conversation
| ## Can I exclude specific rules or rule categories from a scan? | ||
| Yes, on every surface, and the exclusion is applied **before** the scan runs, so an excluded rule never appears in the findings or the score. | ||
|
|
||
| - **Web automation (Selenium, Playwright, HyperExecute):** pass `accessibility.excludeRules` and `accessibility.excludeRuleCategories` as capabilities. See [Rule and Category Exclusion for Web Accessibility Automation](/support/docs/accessibility-web-automation-rule-exclusion/). |
There was a problem hiding this comment.
(Selenium, Playwright, HyperExecute) here i guess hyperExecute should not be there as selenium and pw are frameworks.
|
|
||
| AutoScan runs an accessibility scan **automatically** after every Appium command that changes the screen, so an app flow is covered end to end without a `lambda-accessibility-scan` call at each step. You turn it on with a single capability, and <BrandName /> scans as your existing test drives the app. | ||
|
|
||
| Because a test usually taps several times on the same screen, AutoScan also ships with **intelligent scan**: before each scan the current screen is compared with the last one that was scanned, and a screen that has not visibly changed is skipped. Intelligent scan is **on by default**, so the common case is one scan per distinct screen rather than one scan per tap. |
There was a problem hiding this comment.
Compared with all the screens that have been scanned so far not just the last screen.
|
|
||
| ## What to expect in reports | ||
|
|
||
| AutoScan scans land in exactly the same place as hook-driven scans, in the Accessibility dashboard under the same build and test. There is no separate AutoScan report type to learn. |
There was a problem hiding this comment.
We can mention here in the report there is a pill of autoscan, if the test was ran with autoscan config.
| linearNavigation: true | ||
| linearNavigationTimeout: 300000 | ||
| ``` | ||
|
|
There was a problem hiding this comment.
We also need to include the linear timeout distribution. Otherwise, users may always ask why the scan was not fully completed.
The timeout should be distributed linearly based on the scroll view:
Timeout distribution = Total Timeout / (Scroll View × 2)
|
|
||
| Auto Report is independent of the rule-based accessibility scan. | ||
|
|
||
| - Enabling `screenReader` alone does **not** run the App Accessibility rule scan. Call `lambda-accessibility-scan` at each screen you want rule-checked, as described in [Native App Automation](/support/docs/accessibility-native-app-automation-test/). |
There was a problem hiding this comment.
Here we will not support screen reader and app accessibility hook together. Only one thing will work.
|
|
||
| - Enabling `screenReader` alone does **not** run the App Accessibility rule scan. Call `lambda-accessibility-scan` at each screen you want rule-checked, as described in [Native App Automation](/support/docs/accessibility-native-app-automation-test/). | ||
| - Calling `lambda-accessibility-scan` does **not** generate a Screen Reader Report. Set `autoReport: true` for that. | ||
| - Both can be enabled in the same session. You get a rule scan report and a Screen Reader Report for the same build. |
| | Session fails with *"Screen Reader Automation is supported on Android and iOS real devices only."* | The capabilities requested an emulator or simulator. Set `isRealMobile: true` and choose a real device. | | ||
| | Session fails with *"Screen Reader Automation requires Android 11+ / iOS 15+."* | Pick a device on a supported OS version. The message names the OS and version that was selected. | | ||
| | Report is marked partial | A screen hit `linearNavigationTimeout`. Raise the timeout, up to 480000 ms, or split a very long screen across test steps. | | ||
| | Meaningful reading order shows *Not applicable* | Linear mode was enabled. Run the same test in Standard mode if you need that check. | |
There was a problem hiding this comment.
This rule is not supported for now as its AI one.
|
|
||
| ## Product boundary | ||
|
|
||
| - **Not the live screen reader.** For hands-on TalkBack or VoiceOver sessions with a real handset on screen, use [Screen Reader (TalkBack) on Android](/support/docs/screen-reader-on-real-devices-app/) and [Screen Reader (VoiceOver) on iOS](/support/docs/screen-reader-voiceover-real-devices-app/). |
There was a problem hiding this comment.
Is it necessary to mention it?
| ## Can I exclude specific rules or rule categories from a scan? | ||
| Yes, on every surface, and the exclusion is applied **before** the scan runs, so an excluded rule never appears in the findings or the score. | ||
|
|
||
| - **Web automation (Selenium, Playwright, HyperExecute):** pass `accessibility.excludeRules` and `accessibility.excludeRuleCategories` as capabilities. See [Rule and Category Exclusion for Web Accessibility Automation](/support/docs/accessibility-web-automation-rule-exclusion/). |
There was a problem hiding this comment.
(Selenium, Playwright, HyperExecute) Remove Hyper execute from here as its not a framework
| @@ -0,0 +1,286 @@ | |||
| --- | |||
| id: accessibility-web-automation-rule-exclusion | |||
There was a problem hiding this comment.
@akshayverma28 Please update the DevTools and Web Automation documentation to cover the following features:
- Screenshot functionality
- Passed test cases
- Scan On/Off toggle
- iFrame scanning
| id: accessibility-web-automation-rule-exclusion | ||
| title: Rule and Category Exclusion for Web Accessibility Automation | ||
| sidebar_label: Rule & Category Exclusion (Automation) | ||
| description: "Exclude individual axe rules or whole rule categories from web accessibility automation scans on Selenium and Playwright sessions, on the cloud grid and on HyperExecute, with the accessibility.excludeRules and accessibility.excludeRuleCategories capabilities." |
| - `accessibility.aiEnabled` is the same AI toggle used elsewhere in accessibility; it is reused here. | ||
| - A backend capability `accessibility.needsReview` also exists but is not part of the standard automation scan config (defaults off). | ||
| - `accessibility.excludeRules` and `accessibility.excludeRuleCategories` are optional and mobile-only. Accepted values, precedence and error handling are described in [Rule and Category Exclusion for Mobile App Accessibility](/support/docs/accessibility-mobile-rule-exclusion/). |
There was a problem hiding this comment.
is this page specific to mobile? if not, it should not mention mobile-only
| - **Scoped results.** Each scan reports violations only for the rules in the test's effective set. Rules outside the WCAG range or behind an off group toggle do not appear and do not affect the accessibility score for that scan. | ||
| - **Configuration recorded with the test.** The WCAG version and group toggles are stored alongside the scan, so the team can always see how a given result was produced. | ||
| - **Applied rules are visible in the report.** The report header shows the applied configuration as tags (for example, **WCAG 2.1 AA**, **Best Practices**, **Beta Rules**), and the **Applied Settings** panel lists every rule that was evaluated, grouped by category and searchable, so the exact selected rules can be confirmed for any scan. | ||
| - **Applied rules are visible in the report.** The report header shows the applied configuration as tags (for example, **WCAG 2.1 AA**, **Best Practices**, **Beta Rules**), and the **Applied Settings** panel lists every rule that was evaluated, grouped by category and searchable, so the exact selected rules can be confirmed for any scan. Rules removed by an exclusion are listed under **Excluded by category** and **Excluded by rule**. |
There was a problem hiding this comment.
Not listed as "Excluded by category" or "Excluded by rule", both ways exclusion is shown as such in applied settings, either greyed out (category) or "off" (individual rules).
| ### 5. Exclude Rules | ||
|
|
||
| - **Purpose:** Skip specific accessibility rules that your team has reviewed and accepted, so they do not fail every build. Excluded rules are switched off before the scan runs and do not count towards the score. | ||
| - **Options:** An array of axe-core rule IDs, or a comma-separated string. Unknown IDs are logged and ignored; the session still runs. |
There was a problem hiding this comment.
Can mention here, that said unknown ids are logged in the hook responses
| What to expect: | ||
|
|
||
| - Saved selections persist in the browser and are also stored as your **last-used configuration** on the server, so they follow you across reinstalls. | ||
| - They apply to **full-page, multi-page, workflow and keyboard** scans run from the extension. |
There was a problem hiding this comment.
Instead of keyboard, we can mention "assisted" tests
|
|
||
| ## Evaluation Rules | ||
|
|
||
| The **Evaluation Rules** panel in the **Scan Settings** tab lists every rule the scan will evaluate, grouped by category. Switch off individual rules with their On/Off toggle, or a whole category with the checkbox on its header, then click **Save**. A rule that is switched off never runs and does not count towards the score. Saved selections apply to full-page, multi-page, workflow and keyboard scans, and follow you across reinstalls as your last-used configuration. |
There was a problem hiding this comment.
same, assisted instead of keyboard here
|
|
||
| The **Evaluation Rules** panel in the **Scan Settings** tab lists every rule the scan will evaluate, grouped by category. Switch off individual rules with their On/Off toggle, or a whole category with the checkbox on its header, then click **Save**. A rule that is switched off never runs and does not count towards the score. Saved selections apply to full-page, multi-page, workflow and keyboard scans, and follow you across reinstalls as your last-used configuration. | ||
|
|
||
| Rules outside the selected WCAG version, or Best Practice rules while Best Practices is off, are greyed out with a tooltip explaining why. A selection that leaves no rule to run cannot be saved. |
There was a problem hiding this comment.
rules outside the selected WCAG version are silently dropped, not shown in the report.
|
|
||
| Intelligent scan is what keeps an interaction-heavy test from producing dozens of near-identical reports. | ||
|
|
||
| Before each triggered scan, <BrandName /> compares the current screen with the last screen that was scanned and produces a **visual similarity percentage**. If that percentage is at or above `accessibility.intelligentScanThreshold`, the screen is treated as unchanged and the scan is skipped. |
There was a problem hiding this comment.
not just last screen, all screens in session/test so far
| | Lower, for example `50` | Aggressive. Only clearly different screens are scanned, which is useful on flows with a lot of animation or changing content. | | ||
| | `intelligentScan: false` | No comparison at all. Every triggering command produces a scan. Expect roughly twice the scans of a default AutoScan run on an interaction-heavy flow. | | ||
|
|
||
| Comparison is always against the **last screen that was actually scanned**, so a flow that moves A → A → B scans A once and B once. |
There was a problem hiding this comment.
here as well, not just last screen
| No. Exclusion only removes rules. To run a narrower set, lower the WCAG target or switch off group toggles, then exclude what remains. | ||
|
|
||
| **What if I pass a web rule ID or category on a mobile session?** | ||
| It is logged and dropped as not applicable to the platform, and the session proceeds. |
There was a problem hiding this comment.
it is logged as an unknown rule id
There was a problem hiding this comment.
"Not applicable to the platform" is for mobile rules if it doesn't apply to Android/iOS
harshitpal-lt
left a comment
There was a problem hiding this comment.
See this incorrectly mentioned at many places, please check
| ## Step 2: Configure the Scan | ||
| - Enter the Scan Name for identification. | ||
| - Select the desired WCAG version for compliance. | ||
| - Optionally open **Evaluation Rules** beside the WCAG selector to switch off individual rules or whole categories for every run of this schedule. Rules outside the selected WCAG version are greyed out, and at least one rule must stay on. See [Rule and Category Exclusion in DevTools and Scheduled Scans](/support/docs/accessibility-devtools-rule-exclusion/). |
There was a problem hiding this comment.
Rules outside the wcag version are not included in the applied settings in the report or the rule selection panel.
- FAQ: drop HyperExecute from the web framework list - AutoScan: intelligent scan compares against every screen scanned so far; mention AutoScan pill in report - Screen Reader Auto Report: add linear timeout distribution, remove unsupported reading order check (seven checks), screen reader and lambda-accessibility-scan are not supported together - Mobile Applied Settings: excluded categories greyed out, excluded rules shown as Off - Rules outside the WCAG version are not listed in the panel or report (DevTools, scheduling) - DevTools: assisted scans instead of keyboard; add AI rules table - Unknown rule IDs logged in hook responses; web rule ID on mobile logged as unknown - Scan configurations: exclusion capabilities are not mobile-only Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

No description provided.