mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-28 06:31:58 +00:00
Page:
Screen Reader Test
Pages
Accessibility Guidelines
Adopting Multi Root Workspace APIs
Automated Issue Triaging
Build Champion
Build and run 32bit Code OSS on Windows
Code Editor Roadmap
Coding Guidelines
Color customization color id changes
Commit Signing
Community Issue Tracking
Contributor License Agreement
Copilot Issues
Cross Compiling for Debian Based Linux
Custom eslint rules
Dealing with Test Flakiness
December Pre Release
December Test Plan
Design Goals
Development Process
Differences between the repository and Visual Studio Code
Editor decorations & colors
Endgame testing and verification
Explain extension causes high cpu load
Extension API guidelines
Extension API process
Feature Areas
Feedback Channels
File Watcher Internals
File Watcher Issues
Git & SCM Issues
Home
How to Contribute
IME Test
Insiders Release Notes
Interactive Window Documentation
Inventory of performance marks
Issue Grooming
Issue Tracking
Issues Triaging
Iteration Plans
Keybinding Issues
Known issues
Lists And Trees
Native Crash Issues
Notebook Smoke Test
Notebook documentation
Notebook layout
November Plan
Performance Issues (old)
Performance Issues
Pointer Device & Touch support
Publish vscode types
Related Projects
Release Process
Removing Insiders
Roadmap 2017
Roadmap 2018
Roadmap 2019
Roadmap 2020
Roadmap
Roadmap‐2021‐2022
Running the Endgame
Runtime debugging
Sanity Check
Screen Reader Test
Search Issues
Selfhosting on Windows WSL
Semantic Highlighting Overview
Setting Descriptions
Smoke Test
Source Code Organization
Submitting Bugs and Suggestions
Terminal Issues
TypeScript Issues
UX
VS Code Speech
Virtual Workspaces
Working Copies
Working with xterm.js
Writing Test Plan Items
Writing Tests
[DEV] Perf Tools for VS Code Development
[DEV] Programming advice and tips & tricks
[WIP] Code Editor Design Doc
[WIP] Design Checklist
[WIP] Design Principles
[dev perf] PerformanceError and unresponsive renderer telemetry
7
Screen Reader Test
Aiday Marlen Kyzy edited this page 2025-03-03 18:57:37 +01:00
This page can be used to smoke test the screen reader usage with VS Code. In the following always have screen reader accessibility mode toggled on.
- For macOS use VoiceOver. The gold standard is XCode.
- For windows use NVDA. The golden standard is Visual Studio.
In the following tests use the following example code:
Example Code
export interface IRange {
start: number;
end: number;
}
export interface IRangedGroup {
range: IRange;
size: number;
}
export namespace Range {
/**
* Returns the intersection between two ranges as a range itself.
* Returns `{ start: 0, end: 0 }` if the intersection is empty.
*/
export function intersect(one: IRange, other: IRange): IRange {
if (one.start >= other.end || other.start >= one.end) {
return { start: 0, end: 0 };
}
const start = Math.max(one.start, other.start);
const end = Math.min(one.end, other.end);
if (end - start <= 0) {
return { start: 0, end: 0 };
}
return { start, end };
}
export function isEmpty(range: IRange): boolean {
return range.end - range.start <= 0;
}
export function intersects(one: IRange, other: IRange): boolean {
return !isEmpty(intersect(one, other));
}
export function relativeComplement(one: IRange, other: IRange): IRange[] {
const result: IRange[] = [];
const first = { start: one.start, end: Math.min(other.start, one.end) };
const second = { start: Math.max(other.end, one.start), end: one.end };
if (!isEmpty(first)) {
result.push(first);
}
if (!isEmpty(second)) {
result.push(second);
}
return result;
}
}
Simple Screen Reader Usage
- Place the cursor on (1, 1). Move cursor down, move cursor up.
- Verify the screen reader reads the full first line.
macOS:
- Verify there is a black box surrounding the line that is read
- Move cursor right to (1, 2) with the right arrow. Verify it reads
e. - Move cursor right to (1, 3) with the right arrow. Verify it reads
x.
windows:
- Verify there is a black box surrounding the line that is read
- Move cursor right to (1, 2) with the right arrow. Verify it reads
x. - Move cursor right to (1, 3) with the right arrow. Verify it reads
p.
Screen Reader with Word Wrap
- Set the setting
editor.wordWrapColumnto 10 - Set the setting
editor.wordWraptowordWrapColumn - Place the cursor on (1, 1).
- Put cursor down once, verify it reads:
interface - Put cursor down once, verify it reads:
IRange {
Screen Reader Read Word by Word
macos:
- Consider the keybindings:
- Option + leftArrow to read the previous word
- Option + rightArrow to read the next word
- Place the cursor on (1, 1)
- Jump to the next word. The screen reader should read
export - Jump to the next word. The screen reader should read
interface - Jump to the previous word. The screen reader should read
export
windows:
- Consider the keybindings:
- NVDA + ctrl + leftArrow to read the previous word
- NVDA + ctrl + rightArrow to read the next word
- Place the cursor on (1, 1)
- Jump to the next word. The screen reader should read
interface - Jump to the previous word. The screen reader should read
export
Project Management
- Roadmap
- Iteration Plans
- Development Process
- Issue Tracking
- Build Champion
- Release Process
- Running the Endgame
- Related Projects
Contributing
- How to Contribute
- Submitting Bugs and Suggestions
- Feedback Channels
- Source Code Organization
- Coding Guidelines
- Testing
- Dealing with Test Flakiness
- Contributor License Agreement
- Extension API Guidelines
- Accessibility Guidelines
- Custom ESLint rules
Documentation