June 29th, 2021

Let’s make Visual Studio even more accessible together.

Dante Gagne
Senior Product Manager

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!

Whitespace Rendering

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.

https://developercommunity.visualstudio.com/t/Provide-an-option-to-configure-the-rende/1461161

Option Collecting

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.

https://developercommunity.visualstudio.com/t/Create-groups-for-options-to-help-set-an/1461165

Focus Mode

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.

https://developercommunity.visualstudio.com/t/Focus-Mode-for-Visual-Studio/1461172

Audio Cues

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.

https://developercommunity.visualstudio.com/t/More-Audio-cues-for-Visual-Studio/1461176

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.

 

 

 

 

 

 

 

Author

Dante Gagne
Senior Product Manager

Joined Microsoft in 2002 as a tester on the "Sparkle" project which eventually became Expression Blend. Dante moved from test to program management in 2009 and since then has worked in Windows tooling and more recently the Visual Studio editor. He also accepted a position as the accessibility driver for all developer tools in 2017 and happily spends his time trying to make sure that developers of all abilities can be effective with the Visual Studio family of tools. With a heart that loves ...

More about author

17 comments

Discussion is closed. Login to edit/delete existing comments.

  • David Elyk

    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.

    • Dante GagneMicrosoft employee Author

      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?

      • Chargen · Edited

        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...

        Read more
  • Max Young

    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...

    Read more
    • Dante GagneMicrosoft employee Author

      I will pass this onto the WPF team.

  • David N · Edited

    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.

    • hitesh davey

      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.

      • Dante GagneMicrosoft employee Author

        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.

    • Dante GagneMicrosoft employee Author

      Thanks for letting me know about this. This item wasn’t on my radar, but clearly needs to be.

  • Karl von Laudermann

    "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...

    Read more
    • David N

      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).

      • Karl von Laudermann · Edited

        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 🙂 )

  • Ray

    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...

    Read more
    • Dante GagneMicrosoft employee Author

      Thanks for the feedback. I’m passing this onto the team that’s in charge of the icons.

  • Jason Baginski · Edited

    https://developercommunity.visualstudio.com/t/More-Audio-cues-for-Visual-Studio/1461176 displays

    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.

    • Dante GagneMicrosoft employee Author

      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.