This request proposes an integrated "Read Aloud" functionality within the Markdown Preview webview. While VS Code is highly accessible for screen readers, a native, easy-to-trigger speech synthesis option for the rendered preview would significantly benefit users for proofreading and accessibility.
High-Level Proposal
Integrate the Web Speech API (specifically speechSynthesis) directly into the Markdown Preview extension. This allows the editor to read the rendered content aloud without requiring external screen reader software.
Key Benefits
- Proofreading: Auditory feedback helps developers catch grammatical errors and flow issues in documentation.
- Accessibility: Provides a low-barrier entry for users with visual impairments or reading disabilities who do not wish to configure a full-blown screen reader.
- Consistency: Aligns VS Code with modern browser features like Microsoft Edge's Immersive Reader.
Proposed UI/UX
- Icon: A "Speaker" icon in the Markdown Preview title bar (top right).
- Context Menu: A "Read Selection" option when right-clicking text within the preview.
- Command Palette: New command: Markdown: Start/Stop Reading Aloud.
Technical Feasibility
Since the Markdown Preview is a WebView, it can leverage the browser's native window.speechSynthesis API, making this a lightweight addition with no heavy external dependencies.
This request proposes an integrated "Read Aloud" functionality within the Markdown Preview webview. While VS Code is highly accessible for screen readers, a native, easy-to-trigger speech synthesis option for the rendered preview would significantly benefit users for proofreading and accessibility.
High-Level Proposal
Integrate the Web Speech API (specifically speechSynthesis) directly into the Markdown Preview extension. This allows the editor to read the rendered content aloud without requiring external screen reader software.
Key Benefits
Proposed UI/UX
Technical Feasibility
Since the Markdown Preview is a WebView, it can leverage the browser's native window.speechSynthesis API, making this a lightweight addition with no heavy external dependencies.