<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="http://sreelakshmisb.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="http://sreelakshmisb.github.io/" rel="alternate" type="text/html" /><updated>2026-05-28T19:27:11+00:00</updated><id>http://sreelakshmisb.github.io/feed.xml</id><title type="html">IDEA (Intelligent Developer Experiences for Accessibility)</title><subtitle>Information about the a11yagent project </subtitle><author><name>Sreelakshmi S B</name></author><entry><title type="html">a11yagent: An LLM-based discoverability agent for VS Code</title><link href="http://sreelakshmisb.github.io/a11yagent/" rel="alternate" type="text/html" title="a11yagent: An LLM-based discoverability agent for VS Code" /><published>2026-05-20T00:00:00+00:00</published><updated>2026-05-20T00:00:00+00:00</updated><id>http://sreelakshmisb.github.io/a11yagent</id><content type="html" xml:base="http://sreelakshmisb.github.io/a11yagent/"><![CDATA[<p><strong>Did you know that VS Code currently has over 73 accessibility-related settings?</strong></p>

<p>Many of these settings have been designed to support blind and low-vision (BLVI) developers. But given the sheer number of these settings and the pace at which they are introduced and changed, they risk not being discovered and used in practice.</p>

<figure style="margin: 2em; display: grid; justify-items: center; gap: 6px; justify-self: center;">
  <img src="/images/settingsEditor.png" alt="Screenshot of a VS Code window with the settings editor open and the search filter @tag:accessibility applied. Accessibility settings displayed on screen include Editor settings for Accessibility Page Size (set to 500), Accessibility Support(set to on), variable fonts (unchecked), screen reader announcements for inline suggestions(enabled), and workbench settings for Reduce Motion(set to auto) and Reduce Transparency (set to off)." />
  <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px;">Screenshot showing accessibility settings within the VS Code settings editor.</figcaption>
</figure>

<h2 id="introducing-a11yagent">Introducing a11yagent</h2>

<p><code class="language-plaintext highlighter-rouge">a11yagent</code> is a VS Code extension that helps BLVI developers discover features and troubleshoot accessibility-related issues within VS Code. It provides an interactive chat participant where users can ask questions about VS Code, and find and track updates related to accessibility issues they are facing in VS Code. You can install and start using a11yagent from the Visual Studio Code marketplace <a href="https://marketplace.visualstudio.com/items?itemName=IDEA.a11yagent">here</a>!</p>

<figure style="margin: 2em; display: grid; justify-items: center; gap: 6px; justify-self: center;max-width: 500px;">
  <img src="/images/a11yagent_marketplace.png" alt="Screenshot of the a11yagent VS Code extension in the VS Code marketplace. The author is listed as IDEA, and the description reads 'A VS Code Extension that helps screen reader users discover accessibility features and troubleshoot accessibility-related issues in VS Code.'" />
  <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px;">a11yagent VS Code extension.</figcaption>
</figure>

<h2 id="is-such-a-tool-necessary">Is such a tool necessary?</h2>

<h3 id="1-vs-code-has-a-rapidly-evolving-set-of-accessibility-features">1. VS Code has a rapidly evolving set of accessibility features</h3>

<p>VS Code’s official monthly release notes indicate around 3 accessibility-related features being introduced or changed every month, with some months having as many as 11 changes (based on data from January 2021 to June 2025).</p>

<figure style="margin: 2em; display: grid; justify-items: center; gap: 6px; justify-self: center;">
  <img src="/images/release_trends.png" alt="Line graph showing trends in accessibility updates from 2021 to 2025 - number of documented updates between January 2021 and June 2025. The values fluctuate between 0 and 11, with several peaks and dips. Mopst values lie between 2 and 4" />
  <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px;">Line graph showing trends in accessibility updates from 2021 to 2025.</figcaption>
</figure>

<h3 id="2-users-have-a-lot-of-questions-about-these-features">2. Users have a lot of questions about these features</h3>

<p>An analysis of posts on program-l - the popular discussion forum used by BLVI developers - indicates several discoverability challenges faced by BLVI developers in using these features. Users frequently ask about the use of specific features and are unsure about which features meet their specific requirements,if any. Queries are more frequent for features like the Editor, Terminal, and Sound cues.
<br /></p>
<figure style="margin: 0; display: grid; justify-items: center; gap: 6px; justify-self: center;">
  <img src="/images/features_programl.png" alt="Bar chart showing the number of queries in program-l corresponding to different VS Code features. There are 17 bar charts corresponding to 17 different feature categories: General, Settings, Editor, Terminal, Copilot Chat, Debugger, Output Pane, Status Bar, Errors, Accessible View, Accessible Diff Viewer, Copilot Suggestions, IntelliSense, Keyboard Navigation, Keybindings, Sound Cues and Speech, Notifications and Alerts. The highest number of queries are about the Editor(26), followed by Terminal(15), Sound cues and speech(14), and the general category(14)." />
  <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px;">Distribution of program-l queries about different VS Code features (January 2021 to December 2025).</figcaption>
</figure>

<h3 id="3-the-built-in-chat-agent-performs-poorly-when-asked-accessibility-related-queries">3. The built-in chat agent performs poorly when asked accessibility-related queries</h3>

<p>GitHub Copilot - the built-in chat agent in VS Code - could provide the requored guidance for using various features within VS Code. However, in practice, Copilot frequently provides inadequate responses when asked about accessibility features in VS Code. Its answers are often UI-based, even when the IDE is used in its ‘screen-reader optimized’ mode.</p>

<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: center;">
  <figure style="margin: 0; display: grid; justify-items: center; gap: 6px; justify-self: center;">
    <img src="/images/copilot_view.png" alt="Screenshot of the VS Code chat interface showing a conversation between the user and Copilot. The user asks how to view a Copilot code suggestion without accepting it. Copilot responds with a six-step process: (1) Trigger Copilot Suggestions using Alt+\ (Windows/Linux) or Option+\ (macOS); (2) Navigate Suggestions using arrow keys (3) Review Suggestions inline using screen reader announcements while navigating (4) Dismiss Suggestions using Esc if needed (5) Access the Copilot Panel using Ctrl+Enter (Windows/Linux) or Cmd+Enter (macOS) to browse multiple suggestions and (6) Enable Accessibility Features" style="width: 100%; max-width: 300px;" />
    <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px;">Copilot answering a question about viewing a code suggestion.</figcaption>

  </figure>
  <figure style="margin: 0; display: grid; justify-items: center; gap: 6px; justify-self: center;">
    <img src="/images/copilot_signals.png" alt="Screenshot of the VS Code chat interface showing a conversation between the user and Copilot. The user asks how to reduce the volume of accessibility signals in VS Code. Copilot offers two suggestions: (1) System Accessibility Features - for macOS features like VoiceOver, adjust volume via System Settings &gt; Accessibility &gt; Audio or the system volume; (2) Web Accessibility — for audio signals in a web project, use the volume property of the JavaScript Audio object." style="width: 100%; max-width: 300px;" />
    <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px;">Copilot answering a question about reducing the volume of accessibility signals.</figcaption>
  </figure>
</div>

<!-- ### Discoverability in IDEs
IDEs have feature-rich GUIs. Existing research shows that Blind, Low-Vision, and Visually Impaired (BLVI) developers often struggle to find and learn about these features, given that many of these features have visual indicators. BLVI developers often rely on social forums, documentation, and trial-and-error methods to discover and learn about features.

In order to study ways of improving discoverability within IDEs, we focused on VS Code - the most widely used developer environment per the 2025 Developer Survey by Stack Overflow. -->

<h2 id="how-does-a11yagent-work">How does a11yagent work?</h2>

<p><code class="language-plaintext highlighter-rouge">a11yagent</code> uses the same language models that GitHub Copilot uses, but grounds its answers in accessibility-specific data extracted from various sources, including the official VS Code documentation, release notes, settings, default keybindings, signals/announcements, VS Code repos, and telemetry logs so that the generated answers are more relevant for BLVI developers.</p>

<figure style="margin: 0; display: grid; justify-items: center; gap: 6px; justify-self: center;">
  <img src="/images/system_flow.png" alt="Flowchart showing how a11yagent works. After the user sends a query,  it (1) fetches relevant accessibility sources, then (2) uses the language model API to send a request with added context and a system prompt, and finally (3) generates a response. If the user query contains an issue, it also (1) optimizes the query and (2) fetches relevant GitHub issues from the VS Code repo using the GitHub MCP server. These are then added to the generated response." style="width: 100%;" />
  <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px;">Flowchart showing how a11yagent processes user queries.</figcaption>
</figure>

<p><br /></p>

<h3 id="features">Features</h3>

<h4 id="accessibility-chat-participant">Accessibility chat participant</h4>
<p>Users can ask accessibility-related questions (how to use specific settings, what accessibility features of VS Code might be helpful for a particular workflow, how to fix an issue they are facing in using a feature, etc.) by invoking the agent with @a11yagent. They can also ask follow-up questions if the initial response doesn’t fully address their query.</p>

<figure style="margin: 0; display: grid; justify-items: center; gap: 6px; justify-self: center;">
  <img src="/images/a11y_signals.png" alt="Screenshot of the VS Code chat interface showing a conversation between the user and a11yagent. The user asks how to reduce the volume of accessibility signals in VS Code. a11yagent responds with step-by-step instructions: open the Command Palette, navigate to Preferences &gt; Open Settings (JSON), and set the accessibility.signalOptions.volume JSON property to a number between 0 and 100" style="width: 100%; max-width: 300px;" />
  <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px; width: 100%; max-width: 500px;">a11yagent answering a question about reducing accessibility signal volume.</figcaption>
</figure>

<h4 id="accessibility-issue-search">Accessibility issue search</h4>
<p>Users can describe an issue they are facing in VS Code to a11yagent, and it’ll run a GitHub search to look up and return any matching GitHub issues related to VS Code. The generated response will contain a list of relevant issues, possible workarounds mentioned in the discussions, and timelines or plans for addressing the issue, if present.</p>

<p>Users can choose to track any of these issues to receive updates when they are being worked on/resolved. If the returned issues don’t match their needs, they can choose to log their description so that a11yagent can notify them if relevant issues are found in the future.</p>

<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: center;">
  <figure style="margin: 0; display: grid; justify-items: center; gap: 6px; justify-self: center;">
    <img src="/images/a11y_issues.png" alt="Screenshot of the VS Code chat interface showing a repsonse by the chat agent. The response contains a list of relevant GitHub issues, with only the first issue visible in the screenshot. It's titled 'Screen reader is announcing tree name'; created on August 12, 2025, and currently Open. The relevance of the issue is also detailed in the response." style="width: 100%; max-width: 300px;" />
  <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px;">a11yagent looking up GitHub issues in response to a user query.</figcaption>
  </figure>

  <figure style="margin: 0; display: grid; justify-items: center; gap: 6px; justify-self: center;">
    <img src="/images/tracked_issues.png" alt="Screenshot of a VS Code Quick Pick menu showing a list of 3 tracked GitHub issues. Each issue has a title, the corresponding link below, and a checkbox next to it to select for deletion. The search text reads select issues to remove from tracking" style="width: 100%; max-width: 300px;" />
  <figcaption style="font-size: 0.8em; line-height: 1.2; text-align: center; padding: 4px;">a11yagent tracking GitHub issues.</figcaption>
  </figure>
</div>

<!-- #### Chat commands
Given below is a list of commands supported by a11yagent. All commands should be prefixed by @a11yagent.

- `/init`: Fetch and refresh all cached data sources being used by the agent (docs, release notes, default settings, default keybindings, accessibility signals, etc.).
- `/issue <description>`: Search for GitHub issues related to the given description. If you ask a query to the agent that sounds like an issue, the agent will automatically look up relevant issues for you, but you can use this command to trigger the issue search yourself.
- `/log <issue_number>`: Log a GitHub issue for tracking. You'll be notified when there are any updates related to this issue (when it's being worked on, or it gets resolved, etc.).
- `/update`: Check tracked issues and query descriptions for updates. An automatic check for updates runs every time you start a new VS Code session, but you can use this command to trigger a check for updates yourself.
- `/view`: Open the tracked items manager (as a QuickPick menu). You can view and manage all your tracked issues and query descriptions here. You can open the corresponding GitHub issue page, refresh any tracked items, or delete items from tracking. Once you become aware of an update, refreshing the corresponding item ensures that a11yagent knows that you're aware of the update and won't notify you about the same update again. You can choose to keep the item in your tracked list for more future updates or delete it from the list if you don't want to receive any further updates for the issue. -->

<!-- ## License

MIT -->]]></content><author><name>Sreelakshmi S B</name></author><summary type="html"><![CDATA[Did you know that VS Code currently has over 73 accessibility-related settings?]]></summary></entry></feed>