Let’s make Visual Studio even more accessible together.
When I started leading the drive for accessibility in Visual Studio five years ago, I really didn’t understand the magnitude of what that meant. In all honesty, I hadn’t really thought about accessibility as more than keyboard and screen reader, but we’ve come to learn that it’s a lot more than that. From temporary disabilities, like an injury that will heal to neurodiversity, the idea of inclusive design is a great deal more than I had any idea of.
The magnitude of the work it would mean for us as well as the impact of what that would mean has really helped many of us realize how important our mission of empowering everybody on the planet really is. I’m very proud of the work we’ve done, but I also know that there’s more we can do. Inclusive design makes Visual Studio an amazing product for all users.
Today, my day-to-day is less about compliance issues and more about wanting to move beyond “good enough”. We want to find the features and innovations that help our users do the most amazing things they can. Visual Studio shouldn’t merely “work” with a screen reader, but it should deliver an experience that feels fluid and natural.
The only way we’re going to find the next round of features is through engagement with our community. We want to spend more time talking with folks who have disabilities. We’re not prioritizing folks with any particular type of disability, so if you identify as neurodiverse, we’d love to hear from you. If you found something harder while recovering from a broken arm, we’d love to hear from you too. Whatever feedback that folks want to share, we want to know what you think.
And this is only the start. We want the suggestions and we want the pain points. We want to know the behavior of Visual Studio that really stops you from being as productive as you can be. Whether your feedback falls into the category of “Accessibility” or not, please don’t hesitate to head up to Developer Community.
For now, though, I’d like to list a few features we’re thinking about. If you have opinions on these, please follow the links and upvote the ones you feel would be helpful. Feel free to jump into the conversations on Developer Community. We want to know what our community has to say!
The decision to use spaces or tabs for indentation is a battle that has waged since the typewriter. A year-old thread on reddit provides a strong accessibility reason to always use tabs. But what if that wasn’t the case? What if a visually impaired user who uses particularly large fonts wants indenting whitespace to be rendered at the width of a single character? Visual Studio can identify when a series of spaces is being used as whitespace indentation… who says it needs to be rendered as four (or eight or two) character width?
This feature would allow users to specify the render width of indentation regardless of whether tabs or spaces are used in the file.
Visual Studio has hundreds of options that allow the user to configure and customize the experience to better meet their needs. We recently added a feature to increase the line spacing between lines of code to make the code easier to read. Finding the specific option you want to change is one challenge, but just discovering what can or can’t be changed is a challenge all its own.
This feature would introduce a new feature in the Options dialog that would reduce the displayed options to only the ones that have to do with accessibility. The feature can also be extended to other areas like privacy or security. The feature would make it easier to find groups of similar options to help you find and customize your experience.
Windows introduced a feature in Windows 10 called “Focus Assist”. In this mode, the number of notifications is dramatically reduced, but there are still some dials to help the user customize the kinds of things they want to be notified about. Our cell phones have “Do Not Disturb” modes to help us reduce distractions. We believe strongly that developers would want similar control over notifications and distractions in their IDE. But what kinds of things would users want filtered out? Knowing where we can have the most impact would be key for this feature.
This feature would provide an easy way for users to step into and out of a “Focus Mode”. It would also allow control over the notifications they want or don’t want to know about while in this mode.
Recently the Test Explorer had great responses from the community, particularly the visually impaired and blind community that the audio cue feature has been a real delighter. We want to know if this is a feature we should expand on. Visual Studio used to have more support for this, but over the years, usage has waned. However, we’re discovering that there are some workflows that would really benefit from more audio cues.
This feature would provide more hooks and a richer environment for hooking up audio cues to events in Visual Studio.
Call to Action
Accessibility in software development is a place where applications can do an adequate job, or a great job. We have guidelines and laws that help us understand exactly what “adequate” means, but it takes feedback from real people to be able to do a great job.
For any of these items, if you feel they’d be useful… or maybe you think it’s a great first step but needs a bit more? We’d love to hear from you. Follow the links above with each item and give your feedback. Upvote the items and let us know how it would help you.
If you’ve got an idea we haven’t covered here, you can also head over to Developer Community to provide your own suggestion. We read every suggestion that gets filed and the idea you’re thinking about might provide huge impact to a wide range of Visual Studio developers. It all starts with that engagement and we’re eager to hear from you.
We were unable to get this feedback item. It could be because you don’t have access to it or it doesn’t exist
Error details: [“If you recently created this ticket, our systems are still syncing. Please refresh in 15-20 minutes and the ticket details should be available. Ticket with id ‘1461176’ not found”]
1461161 has a similar error.
Thank you for letting me know. I’m a bit embarrassed, but I had failed to move the suggestions out of the Internal database and pushed them to the public database. It worked fine for me and I completely missed that.
I have gone and moved the recommendations to the public space and even got a few public comments on them so far, so I’m pretty sure they’re working correctly now. My deepest apologies for that.
It’s great to hear accessibility is a primary topic in the upcoming version of VS. I remember a blog post where you introduced the new icons – while I enjoyed most of them, two icons, however, lost their uniqueness to me: the icon for methods vs. the icon for fields in IntelliSense lists.
Previously, the icon for fields was a filled out, slightly elongated box. The method was a purple wireframe cube.
In VS2022, they kept their colors and cubic dimensions, but both became wireframes. I found this hard to differentiate on quick sight, and my eyesight isn’t even impaired.
Have you considered reviewing these two icons especially? I wanted to test them in action in the latest VS2022 Preview, but it did not seem to include any new icons yet.
Thanks for the feedback. I’m passing this onto the team that’s in charge of the icons.
“We recently added a feature to increase the line spacing between lines of code to make the code easier to read.”
This is great, but could we please, please, have the option to reduce the line spacing to less than 1.0? I like to have my lines of text fairly close together, to maximize the number of lines of code on the screen at once. I’ve been using Lucida Console as my coding font in Visual Studio for literally 2 decades, because it has tighter line spacing than any other font I’ve tried. Every once in a while I’ll experiment with other fonts that may be prettier or have better Unicode support, and they invariably have larger line spacing at similar text sizes, so I always end up switching back. Source Code Pro is a great example; its letterforms are gorgeous, but its line spacing is ridiculously large, making it unsuitable for use in any text editor that doesn’t support reduction of line spacing.
This is the one feature I’ve been wanting in Visual Studio for at least 20 years.
There is an extension called ‘Line Press’ (yeah, took me years to find it with that name) which does exactly this (or increase the spacing as I prefer).
Thanks for the tip, but I’ve tried Line Press. What it has is an option to compress blank lines; it does not allow reducing the spacing between all lines.
(In fact, if you go to the Marketplace page for this extension, and switch to the Q & A tab, you’ll see a comment by me from 2019 requesting this feature 🙂 )
It’s good to hear that you’re investing in accessibility in all forms, does that mean that issues such as this will be made a priority? https://developercommunity.visualstudio.com/t/Server-busy-when-using-Visual-Studio-wit/1376859
Thanks for letting me know about this. This item wasn’t on my radar, but clearly needs to be.
I’d love to be able to pinch-zoom and ctrl+wheel zoom on each area of the UI such as output windows, debug windows, terminal windows and so on. Different zoom on each and constantly changing as I move from focusing in detail on content somewhere to just keeping an eye on more content for changes.
At the moment everything is fixed size except the editor. And even there it forces all visible editors to change size together when again I might want to see more content on one but zoom in to focus on another.
This is a good suggestion. Really worth it if implemented.
My code editor may have a bigger font size for my vision but what if I only want to zoom project solution explorer or any active panel in VS?
I would also like to set my own font size for the auto-completion list or it should default to the font and size set by me for the editor like VSCode or Azure Data Studio. So far it is not possible to set font and size for the auto-completion Listbox.
If folks haven’t already added this to Developer Community, please do so! If it’s already there, please give a link to it here so others can find and upvote it.
I really appreciate all this work but I was wondering if it would be possible for you to pass on an issue to the WPF team or if possible explain how VS avoids it. Any control that uses a ItemsControlAutomationPeer seems to leak memory because of how it uses weak references. We use UIA for automated testing but because of the memory leaks I have been asked more than once how to turn it off for our whole application and have had to fight to keep them from finding some hack to do it. The memory leak is described here in the post from Brian Lagunas from over 7 years ago also here is a link to the collection which I believe is holding onto the items. It had a connect issue but unfortunately I believe it was never ported any where.
Thank you for all this hard work you are doing on Visual Studio accessibility!
I will pass this onto the WPF team.
It would be nice if Menu Items, Icons, Glyphs and what not could be customizable to allow additional functionality like Accessible Icons to be used to facilitate Screen Readers and Screen Magnifiers.
I’ll pass that information on. Now, when you say “accessible icons”, can you help me understand what you mean? The icons themselves should all have descriptive command names behind them. Similarly, I don’t think there’s anything that should be interfering with screen magnifiers… Can you help me understand what it’s doing?
My name is Edwyn Nee Edwin, and I’m a bit fiddling with VS2020 atm on Windows 11 Enterprise – having the only edge in core isolation, I would like to choose other applications to run in core isolation, so there be the first feature request. I’m a Flight Commander Windows Insider, I have been since 2015.
I’m a dualist when my work was all about *BSD, to have as much BSD running (like hotmail.com once), rooms full of *BSD that ran rc5 and SETI along with service of httpd and PHP talking t-SQL to an NT MSSQL cluster. That is some magick glue I can tell you, just like having Active Directory in Open and Closed source mixed Network OS environments.
I’m also gifted with certain insight that I don’t feel very much connected to Microsoft lately, today I wear my IBM (Eye Bee M) shirt, tomorrow my SGI cray research until things get better with me
I have a question, will you please consider adding the typeface “FiraCode” to be integrated with the Visual Studio, as a UX surprise. Because I know a bit about monotype typefaces, this one is outstanding, visually appealing, for its capabilities like programming ligatures, which is something you want embedded and trusted (so if MS adopts the typeface, it must be signed) FiraCode may also serve as a console font, or designated to the output window. The quality of this is undeniable, the alignment of symbols next to letters is amazing.
I am hoping that Microsoft grasps my idea about Open Source, for people may be recognized for it, the accomplishment and work, as a complement to the maker, of course, integration of this will likely make Visual Studio look even more sexy. The font must be installed with a trusted installer no UAC, also, this font will never change and I would suggest having this tied ONLY to Visual Studio as secure screen fonts, owner, machine, Cannot be replaced, must be be signed and transcoded in the ORF during installment. Would be nice to have some logic with rules that combinations may form discrete signatures.
With some added logic there can be animations (not ) but functional as gates on a circuit board.
Enough ideas. . I will ask it – I hope the lead designer understands what I am trying to tell with way too much noise, it makes a difference on how FiraCode is installed.
I have a history with SGI Silicon Graphics with BSD and FreeBSD but of course yes and no Linux. I was educated by Royal Philips Netherlands industrial design specialists at Codim: a media company, that would produce the interactive media for which Philips had developed a console at that time. The team of UI engineers existed of all kinds of specialists in their respective field, the best audio/visual specialists, the best programming professionals that all worked together with designers that came fresh from the design universities -we were all learning about how human-machine interaction would have a level of consistency to consider that interactive media would also become available to other cultures in other countries, of course, that Is what made Philips special, to have a league of psychologists that shared their insights in communications and these people helped define the principal design policies for interactive multi-media, that it also established the ways of ‘crossing cultural barriers , this is a delicate process (in contrast, note how the WHO people failed and lost all respect )- to pay respect to other cultures, is to research and have every detail that would be communicated, formulated and designed with careful consideration, how Philips scientist wanted deliver their inventions to public.