Skip to content

Commit d20466a

Browse files
authored
Merge pull request LambdaTest#1638 from TejasAmle-Lambdatest/stage
Add doc for accessibility keyboard scan
2 parents 28ec67e + bf7aeb7 commit d20466a

File tree

2 files changed

+137
-1
lines changed

2 files changed

+137
-1
lines changed
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
---
2+
id: accessibility-keyboard-scan
3+
title: Keyboard Accessibility Scan (Beta)
4+
hide_title: false
5+
sidebar_label: Keyboard Scan
6+
description: Keyboard Accessibility Scanning tools highlight tab stops sequentially, making tab order identification effortless. Users can review the results, mark any overlooked interactive elements, and generate detailed keyboard accessibility reports.
7+
keywords:
8+
- LambdaTest
9+
- Accessibility
10+
- Testing
11+
- DevTools
12+
- run quick scan
13+
- test issues
14+
- Keyboard Scan
15+
- Tab Order
16+
url: https://www.lambdatest.com/support/docs/accessibility-keyboard-scan/
17+
site_name: LambdaTest
18+
slug: accessibility-keyboard-scan/
19+
---
20+
21+
import CodeBlock from '@theme/CodeBlock';
22+
import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys";
23+
24+
<script type="application/ld+json"
25+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
26+
"@context": "https://schema.org",
27+
"@type": "BreadcrumbList",
28+
"itemListElement": [{
29+
"@type": "ListItem",
30+
"position": 1,
31+
"name": "Home",
32+
"item": "https://www.lambdatest.com"
33+
},{
34+
"@type": "ListItem",
35+
"position": 2,
36+
"name": "Support",
37+
"item": "https://www.lambdatest.com/support/docs/"
38+
},{
39+
"@type": "ListItem",
40+
"position": 3,
41+
"name": "What is Accessibility Testing",
42+
"item": "https://www.lambdatest.com/support/docs/accessibility-keyboard-scan/"
43+
}]
44+
})
45+
}}
46+
></script>
47+
48+
## Overview
49+
50+
The Assistive Keyboard Accessibility Test combines automated tab simulation with guided manual verification to identify keyboard accessibility issues. It helps ensure all interactive elements on your web page are accessible via keyboard navigation.
51+
52+
## Running a Keyboard Test
53+
54+
**Step 1: Initiate the Test**
55+
56+
1. Navigate to the web page you want to test
57+
2. Open the Accessibility Devtools from your chrome devtools option
58+
3. Under Assistive Tests, select Keyboard Scan
59+
60+
**Step 2: Select Test Scope**
61+
62+
Choose how much of the page you want to test:
63+
64+
- **Full Page**: Tests the entire page for keyboard accessibility
65+
- **Partial Page**: Allows you to select a specific section or component
66+
- After selecting this option, click and drag to highlight the area you want to test
67+
- Or click on a container element to test that specific section
68+
69+
> **Tip**: For complex pages, start with partial page tests on individual components before running a full page test.
70+
71+
**Step 3: Review Tab Simulation Results**
72+
73+
The tool will automatically:
74+
75+
1. Simulate pressing the Tab key through your selected scope
76+
2. Identify all elements that receive keyboard focus
77+
3. Display a list of found tabbable elements
78+
4. Show the total count of tabbable items
79+
80+
The results will be displayed both as : A numbered list in the tool interface and Visual highlights on the actual page elements.
81+
82+
**Step 4: Identify Missing Interactive Elements**
83+
84+
The tool will ask: "Are there any interactive elements within the scope that should be reachable via the Tab key but were not included in the list above?"
85+
86+
If you select "**No**":
87+
88+
- The manual verification is complete
89+
- No manual issues are logged
90+
- The test proceeds to generate the final report
91+
92+
If you select "**Yes**":
93+
94+
- You'll see the prompt: "Please click on the interactive element(s) that were missed in the tab order"
95+
- Click on any interactive elements (buttons, links, form fields, etc.) that should be keyboard accessible but weren't in the tab list.
96+
- Each element you select will be logged as an accessibility violation.
97+
- Click Confirm Selection when you've identified all missing elements
98+
99+
**Step 5: Review Automated Findings**
100+
101+
While you're performing the manual check, the tool runs our accessibility automated engine in the background to detect automated keyboard accessibility issues such as:
102+
103+
- Illogical focus order
104+
- Nested interactive elements
105+
- Scrollable regions without keyboard access
106+
- Focus indicators missing or unclear
107+
108+
<br/>
109+
110+
## Frequently Asked Questions
111+
112+
**Q: Can this tool test keyboard navigation within iframes?**
113+
114+
A: The tool attempts to test iframe content when possible, but cross-origin iframes may have limitations due to security restrictions.
115+
116+
**Q: Why didn't the tool detect my custom dropdown menu?**
117+
118+
A: Complex widgets with dynamic content may require manual identification. Use the "Yes" option in Step 4 to mark these elements.
119+
120+
**Q: How is this different from a regular axe-core scan?**
121+
122+
A: This test combines axe-core's automated checks with guided manual testing to catch issues that automated tools alone might miss, particularly custom interactive elements.
123+
124+
**Q: Can I save and share test results?**
125+
126+
A: Yes, test results can be exported and shared with your team. Look for the export options in the report view.

sidebars.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1117,6 +1117,7 @@ module.exports = {
11171117
"kaneai-hyperexecute-test-run-execution",
11181118
"kaneai-ci-cd-automation",
11191119
"test-runs-configurations",
1120+
11201121
],
11211122
},
11221123
{
@@ -1594,7 +1595,7 @@ module.exports = {
15941595
{
15951596
type: "category",
15961597
collapsed: true,
1597-
label: "Scanning Alternatives",
1598+
label: "Scanning Methods",
15981599
items: [
15991600
{
16001601
type: "doc",
@@ -1616,6 +1617,11 @@ module.exports = {
16161617
label: "Multi Page Scanner",
16171618
id: "accessibility-testing-multi-page-scanner",
16181619
},
1620+
{
1621+
type: "doc",
1622+
label: "Keybaord Scan",
1623+
id: "accessibility-keyboard-scan",
1624+
},
16191625
],
16201626
},
16211627
{
@@ -1685,11 +1691,13 @@ module.exports = {
16851691
],
16861692
},
16871693
],
1694+
16881695
},
16891696
{
16901697
type: "doc",
16911698
label: "Android",
16921699
id: "accessibility-android-test",
1700+
16931701
},
16941702
{
16951703
type: "doc",
@@ -1715,6 +1723,7 @@ module.exports = {
17151723
type: "doc",
17161724
label: "Accessibility MCP Server",
17171725
id: "accessibility-mcp-server",
1726+
17181727
},
17191728
{
17201729
type: "doc",
@@ -2841,6 +2850,7 @@ module.exports = {
28412850
items: [
28422851
"smartui-running-your-first-project",
28432852
"smartui-guided-walkthrough",
2853+
"smartui-cli-git-branching-strategy",
28442854
"smartui-cli-env-variables",
28452855
],
28462856
},

0 commit comments

Comments
 (0)