postmanlabs / postman-app-support

Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.
https://www.postman.com
5.8k stars 839 forks source link

Accessibility: Screen readers have a tough time inferring info from UI #3121

Open zersiax opened 7 years ago

zersiax commented 7 years ago

Details

  1. Postman Version: Latest as of june 6th, 2017
  2. App (Chrome app or Mac app): Chrome
  3. OS details: Windows 10, latest Creators' Update
  4. Is the Interceptor on and enabled in the app: Irrelevant
  5. Did you encounter this recently, or has this bug always been there: Always been there to my knowledge
  6. Expected behaviour: UI components should expose the correct semantic information to screen readers and other assistive tech in order to make Postman accessible to developers dependent on these technologies.

Steps to reproduce the problem:

Reason:

The reason for all of these issues is easy to discern. JS was used to prettify and add functionality to meaningless HTML elements, e.g. divs, spans, tags etc. Screen readers , search engines and all sorts of other user agents require HTML to be used as intended to work properly. Not adding this semantic context makes an app go from useful to incredibly painful to use in a heartbeat for a significant amount of users.

Ways to fix:

  • Where possible, avoid ugliness like <div class="button-that-really-is-not-a-button-but-will-emulate-using-css-and-js" or , and rather use their HTML equivalents. Button>This is a button,

    This is a heading level 2

    .
  • If you must make it harder on yourself, ARIA attributes can be used to emulate semantic context on non-semantic context, e.g. . You really add a lot of extra overhead and stuff to maintain when you do that, and ARIA is supposed to be used to expand, not replace, semantic HTML. I realize this may seem like quite the undertaking, it very well might be, but right now developers depending on assistive technologies cannot use Postman with any degree of productivity.

Impact

Let me be frank for a second here, the way things are right now I have to constantly call over a colleague when I want to use Postman to test an API alteration. Me being a Rails API developer, you can see how that is a bit of a problem. I decided to open this issue when an update dialog came up that I literally could not dismiss by myself because the "Remind me later" control wasn't keyboard-accessible. As a blind dev, I have to use a lot of workarounds to be productive already and this really isn't helping :)

numaanashraf commented 7 years ago

Thanks for detailed suggestions @zersiax. We are working on improving Postman's accessibility and your feedback helps a lot. 🙂

zersiax commented 7 years ago

I'd be happy to take an dvisory role on this one if required, just let me know

numaanashraf commented 7 years ago

Thank you, Florian. We'll share a beta build with you as soon as it is ready. 🙂

zersiax commented 7 years ago

Sounds good :) Any global ETA for that one?

steverep commented 6 years ago

Any progress here? Can the priority be bumped? Just started using Postman today, and I will be stopping tomorrow because of how inaccessible it is. I'm happy to coach on the finer details of HTML and ARIA if questioned here.

jareds commented 6 years ago

Any update on this? All these issues are in both the latest GA build and the canary build I tested with a few days ago. My co-workers would much rather I be able to use Postman instead of providing them with curl commands they need to convert to postman tests. Since Postman appears to be an Electron app general HTML accessibility rules apply.

zersiax commented 6 years ago

I never heard back about this issue , I filed it about a year ago as can be seen. For as far as I know, things have not improved in the slightest.

sharkboyto commented 6 years ago

Hi, I'm an italian total blind developer. Postman is not much accessible with screen reader. I'm use NVDA. Any news for the accessibility features? Thanks!

prashantagarwal commented 6 years ago

Hey @sharkboyto @zersiax We will be aggressively working on this in upcoming months. I will keep you updated about its development and will also reach out to you guys for early feedback.

zersiax commented 6 years ago

With all due respect, @numaanashraf conveyed a similar message. About a year ago now. Has there been any progress since then?

prashantagarwal commented 6 years ago

@zersiax Postman never had a design system in place before. With the new design system that we are working on, we are making sure that accessibility is one of the core part of it. We are also planning to open several customisations to colours, shortcuts etc that will further improve several developer experience aspects of Postman.

sharkboyto commented 6 years ago

Thanks for the answers, we hope that something positive can happen.

The blind developers we have similar problems with other applications:

  • Javascript debugging tools in Chrome and Firefox
  • SOAP UI for SOAP and REST Web Services tests
  • Intellij, although much improved accessibility in the last version
  • various ssh terminals such as putty and cygwin
  • different tools for database management
  • xamp manager

In short, developing from blind people is not absolutely simple, we must always find alternative programs. Greetings!

DeonNel1 commented 5 years ago

Any update on this issue?

Neurrone commented 5 years ago

Wondering if there's been any progress on this? Almost 3 years since it was first reported.

tbreitenfeldt commented 4 years ago

I too would like to know if there has been any progress working on accessibility. There are a lot of API developers that use postman, and as a web developer myself who is blind, it is frustrating that I cannot use Postman for testing my APIs where everyone else can use it. I am stuck finding an alternative, which there are not many good ones out there, so I often just right my own tests which takes time. Can you guys please improve the accessibility of Postman so that blind devs can use it?

zersiax commented 4 years ago

Ok, since it has been years and nothing was actually done, I am done being nice. Here are some alternatives that trump Postman when it comes to accessibility: https://marketplace.visualstudio.com/items?itemName=humao.rest-client

A VS Code plugin that lets you test APIs. Visual studio Code is quite accessible especially with NVDA.

https://insomnia.rest is pretty much a Postman alternative as well, but hey ...it is accessible with NVDA. Apparently it can be done, who knew?

DeonNel1 commented 4 years ago

Yes clearly universal access is very low on postman's priorities... Maybe someone should start commenting on their facebook page whenever they make a post to highlight this... That was the only way I got any feedback/progress from Jetbrains last year, they also had 10 year old accessibility issues in intelliJ idea that just didn't get any attention until I started highlighting this whenever they posted something on facebook... 3 comments later and we got a high contrast dark mode, proper accessibility documentation and much better screen reader support.

Thanks for the links, agree insomnia works very well with NVDA on windows.

On Sat, Nov 2, 2019 at 12:39 AM Florian Beijers notifications@github.com wrote:

Ok, since it has been years and nothing was actually done, I am done being nice. Here are some alternatives that trump Postman when it comes to accessibility: https://marketplace.visualstudio.com/items?itemName=humao.rest-client

A VS Code plugin that lets you test APIs. Visual studio Code is quite accessible especially with NVDA.

https://insomnia.rest is pretty much a Postman alternative as well, but hey ...it is accessible with NVDA. Apparently it can be done, who knew?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/postmanlabs/postman-app-support/issues/3121?email_source=notifications&email_token=AILPN5Z6E5WXXA4X2RMVXLTQRSV2JA5CNFSM4DOEPZY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC4K3QI#issuecomment-548974017, or unsubscribe https://github.com/notifications/unsubscribe-auth/AILPN57QX76INJ4M7XY2QRDQRSV2JANCNFSM4DOEPZYQ .

christopherpross commented 4 years ago

I Hey thank you for the links, and yeah I am also a blind developer and can not use postman because of lag of accessibility.

karx commented 4 years ago

Where are we on this? It is sad to this state of this issue here.

@zersiax thanks a ton for pointing those resources out. I too recommended Insomnia to a low sighted friend to test after he faced issue on Postman. After exploring myself, the vscode extension seems like the way to go, kindof gives more power to the dev. The quick code navigation tools would really help as well.

Cheers.

ajtran303 commented 4 years ago

Where are we on this? It is sad to this state of this issue here.

@zersiax thanks a ton for pointing those resources out. I too recommended Insomnia to a low sighted friend to test after he faced issue on Postman. After exploring myself, the vscode extension seems like the way to go, kindof gives more power to the dev. The quick code navigation tools would really help as well.

Cheers.

I want to know about this too. It has been 7 months since @zersiax wrote that post with alternative resources. And the original post was made three years ago!

I wonder if the Postman devs will do anything about this.

This specific issue was assigned to an Accessibility project board which is now closed.

Ok, since it has been years and nothing was actually done, I am done being nice. Here are some alternatives that trump Postman when it comes to accessibility: https://marketplace.visualstudio.com/items?itemName=humao.rest-client

A VS Code plugin that lets you test APIs. Visual studio Code is quite accessible especially with NVDA.

https://insomnia.rest is pretty much a Postman alternative as well, but hey ...it is accessible with NVDA. Apparently it can be done, who knew?

I liked how you gave feedback and included steps to take on how to fix the issues you were having. Thank you for including alternative resources.

mrgrieves4 commented 3 years ago

Very sad to see the developers of Postman refusing to engage with this. Also want to thank @zersiax for the links to other tools that seem to take this kind of thing more seriously.

ajtran303 commented 3 years ago

For everyone who is finding this thread now: just use Insomnia.

Insomnia is keyboard navigable with the tab key and easy keyboard shortcuts.

PhoenixTilea commented 3 years ago

Thanks so much for the alternative links. I'm a blind developer currently going through a coding bootcamp, and testing my API projects has been an absolute nightmare. I got to the point where I tried to make my own Postman alternative, and while it seems to work sometimes, I'm just not knowledgeable enough yet to get it working reliably. I'm downloading Insomnia now and really hope it will improve my learning/developing experience. (Writing scripts for each test takes forever!)

zersiax commented 3 years ago

You're very welcome. I'm a blind developer as well and it's disheartening that such a well-known name in the industry apparently doesn't want to live in the 21st century. Feel free to reach out if you have blind-specific questions re: programming. I'm sure you'll be able to find me :)

PhoenixTilea commented 3 years ago

Unfortunately, I am having some real issues with Insomnia. It's way more accessible, but I still can't figure out how to send a request. Or rather, hwo to fill out all the information I need to. I'll keep trying, but it's really discouraging that something which is so simple and straight-forward for other developers is a massive hurdle for us when it doesn't have to be.

zersiax commented 3 years ago

@PhoenixTilea I just had a quick look. It seems things are in stages, so ...you first give the request a name and VERB; the button that says get expands into the common HTTP verbs and a custom option. After you hit create, you get into a UI where you can set things like auth type, headers etc using the tabs and input fields. Not everything is labeled though, I will make them aware of that when I'm done with this comment. If you are at all familiar with Visual Studio Code, you can give the rest client extension of that editor a try, I hear people have success with it and it might suit your workflow better as you work with React a lot by the looks of it :)

PhoenixTilea commented 3 years ago

I did get past that part, but it's the next bit that is very frustrating. I've gone back to using my own tool and that's actually working alright. It's super simple right now and needs more testing, but once I get it to a state I think it might be helpful for others, I'll put a link here if people want another option (An accessible tool developed by a blind programmer). I doubt it will replace tools like Postman or Insomnia for most people, but it's a lot easier to use with the keyboard and no sight.

ajtran303 commented 3 years ago

I did get past that part, but it's the next bit that is very frustrating. I've gone back to using my own tool and that's actually working alright. It's super simple right now and needs more testing, but once I get it to a state I think it might be helpful for others, I'll put a link here if people want another option (An accessible tool developed by a blind programmer). I doubt it will replace tools like Postman or Insomnia for most people, but it's a lot easier to use with the keyboard and no sight.

@PhoenixTilea Please can you share your tool?

PhoenixTilea commented 3 years ago

@ajtran303 It's still a work in progress, and at present, you can't make request to a server running on localhost, as it's online only. I hope to turn it into an Electron app at some point to fix that, but I'll go ahead and link it here. Currently, it's for JSON requests only. (As I said, very limited)

https://http-access.herokuapp.com

PhoenixTilea commented 3 years ago

Update: I've put instructions on my github repo on how to download/install/run my app locally so that you can test locally hosted servers. You'll need node and npm, but as this is primarily for JavaScript/Node developers at the moment, I assume that's pretty likely. Here's a link to the repo: https://github.com/PhoenixTilea/http-access

akash07k commented 3 years ago

@prashantagarwal @numaanashraf It's strange guys that it is around 4 years since this issue is opened. This shows that how seriously you take the accessibility of your products. very disappointed. If you don't want to make postman accessible, then you can let us know straight forward. no need to ignore the conversation and put the excuses.

zersiax commented 3 years ago

@numaanashraf @prashantagarwal I do believe that was addressed to you. I also believe there are several issues that mention this issue, that are in a similar state of limbo. I also believe that both of you made statements, admittedly in 2017 and 2018 that indicated this issue was being worked on. Quite clearly, it hasn't been, or if it has, people who actually know what they need were not consulted which has a continued lack of access as a result. Given this is an open-source project, this goes against the spirit of co-creating with users in order to make a project better for everyone involved. As has been stated, kindly provide an update on your stance on this matter. If postman is not interested in solving this, then kindly close this issue and retract the statements made in 2017 and 2018, so people know to avoid this product if accessibility is required. If you do aim to fix this, and jus haven't managed it yet, be transparent about the blockers you're running into so we can offer targeted assistance. Quite honestly, I have considered making a pull request to at least fix some of it myself. However, the stance I've been seeing on this issue make me wonder if that PR would just start gathering dust the second it's submitted, which would make forking the project my only option. Unfortunately I don't have time to maintain such a fork, though. Other than repeating sentiments that have already been provided several times in this thread, I have nothing more to say.

Luke-Robinett commented 3 years ago

Here's my take on a basic but accessible REST client. It supports GET and POST but I haven't tried many POST requests with it myself. I use it daily at work for GET testing and it works well for me. I'll provide the link below and then a description of the UI, though you'll find it to be fairly self explanatory:

https://luke-robinett.github.io/rest-hitter/

  1. Session name -- optionally give the session a name if you want to save it for reuse
  2. Choose your method: GET or POST
  3. enter your endpoint (URL/URI). Note that you include your parameters directly in the endpoint just like a normal web page.
  4. Data expandable section - Expanding this section reveals a text box for an optional JSON payload for a POST request. In the future I plan to also add controls for more easily adding query parameters
  5. Authentication expandable section -- Expanding this section reveals username and password fields that can be used with HTTP basic authentication. The app will automatically configure basic auth if these fields have values. If they are blank, they will simply be ignored.
  6. Reset -- resets the form
  7. Run -- executes the session
  8. Save -- Saves the session to local storage for later recall
  9. Results text area -- Displays the result of an executed session as pretty printed JSON
  10. Session history -- Your saved sessions appear here as links. Invoking a link loads that session. Make sure you save your current session before choosing another
akash07k commented 3 years ago

@zersiax True, I too agree with your point. At least the team should should be transparent whether they want to implement accessibility or not.

@numaanashraf @prashantagarwal I do believe that was addressed to you. I also believe there are several issues that mention this issue, that are in a similar state of limbo. I also believe that both of you made statements, admittedly in 2017 and 2018 that indicated this issue was being worked on. Quite clearly, it hasn't been, or if it has, people who actually know what they need were not consulted which has a continued lack of access as a result. Given this is an open-source project, this goes against the spirit of co-creating with users in order to make a project better for everyone involved. As has been stated, kindly provide an update on your stance on this matter. If postman is not interested in solving this, then kindly close this issue and retract the statements made in 2017 and 2018, so people know to avoid this product if accessibility is required. If you do aim to fix this, and jus haven't managed it yet, be transparent about the blockers you're running into so we can offer targeted assistance. Quite honestly, I have considered making a pull request to at least fix some of it myself. However, the stance I've been seeing on this issue make me wonder if that PR would just start gathering dust the second it's submitted, which would make forking the project my only option. Unfortunately I don't have time to maintain such a fork, though. Other than repeating sentiments that have already been provided several times in this thread, I have nothing more to say.

akash07k commented 3 years ago

@Luke-Robinett Nice client. I request you that please include put and delete requests too along with get and post so that we can test those requests too.

Here's my take on a basic but accessible REST client. It supports GET and POST but I haven't tried many POST requests with it myself. I use it daily at work for GET testing and it works well for me. I'll provide the link below and then a description of the UI, though you'll find it to be fairly self explanatory:

https://luke-robinett.github.io/rest-hitter/

  1. Session name -- optionally give the session a name if you want to save it for reuse
  2. Choose your method: GET or POST
  3. enter your endpoint (URL/URI). Note that you include your parameters directly in the endpoint just like a normal web page.
  4. Data expandable section - Expanding this section reveals a text box for an optional JSON payload for a POST request. In the future I plan to also add controls for more easily adding query parameters
  5. Authentication expandable section -- Expanding this section reveals username and password fields that can be used with HTTP basic authentication. The app will automatically configure basic auth if these fields have values. If they are blank, they will simply be ignored.
  6. Reset -- resets the form
  7. Run -- executes the session
  8. Save -- Saves the session to local storage for later recall
  9. Sssion history -- Your saved sessions appear here as links. Invoking a link loads that session. Make sure you save your current session before choosing another
malarcono commented 2 years ago

still no updates? I am learning API testing but the tool being used is Postman, will try with the links shared in the eomments.

lucad1971 commented 1 year ago

Any progress on this subject? i am a blind developer willing to use postman, for the moment i am using suggested alternatives, becaouse of lack of accessibility! it s a shame!