We have a few buttons on our website that when clicked do somethings that are obvious (download a file, open a new tab etc) but don't actually change anything on the webpage.

The answer here https://ux.stackexchange.com/a/95000/18879 shows how netflix and gmail behave, but those changes are ones the user is potentially aware of because part of the UI explicitly changes as part of the action (roughly speaking those example operations remove something from a list).

Part of our awareness of the lack of interaction/notifications is in the fact we have started using react-testing-libray that eschews checking anything that the user can't see, and we realised there's no feedback about the actions taken by the user in these cases.

Finally, is this potentially an accessibility issue?

3 Answers 3


– We have a few buttons on our website that when clicked do somethings that are obvious... –

I understand and share what you say, but in accessibility the obvious has no place. What is obvious for one may not be so for a percentage of users, in fact the penultimate paragraph of the question describes the reason why: –we realized there's no feedback about the actions taken ...–

I understand and share what you say because, due to my formation and way of thinking, redundancy is always superfluous and unnecessary. But lately I'm seeing situations that confirm the opposite. After visiting a newspaper website that allows access to the same news by four different ways, I did some research on redundancy in web design and found this interesting article:

The Benefits of Redundancy in Web Design

From where I extract:

Redundancy is absolutely necessary in regards to accessibility.


Honestly, this is more of a usability concern than an accessibility one . . . though, the two often overlap. After all, if a user without disabilities has difficulty perceiving the success of an action, users with certain disabilities (visual, cognitive, reading, etc.) will likely experience that difficulty more intensely.

In the end, it's all about providing some kind of immediate feedback to the user, to let them know that their action did something (successfully or not) and whether or not that needs to be added explicitly is going to vary, depending on the functionality.

For some functionality (including the ones that you listed in your question) even though there might not be a change in the page itself, the user will receive immediate feedback, letting them know that the action was "successful":

  • for "Download a file", the browser will initiate it's default download process
  • for "Open a new tab", the browser will open a new tab
  • for "Print the page", the print dialog will open

For situations like these, as long as you have clearly informed the user of what action will take place when the link, button, etc. is clicked, the very fact that the action occurs should be sufficient feedback to the user to let them know that the click was "successful".

The situations that may need additional feedback are ones without any immediate response. For example:

  • for "Email me a copy", the user will eventually receive an email, which would confirm the success of the action, however, from an usability/accessibility point-of-view, informing the user that "An email has been sent", would be a more immediate indicator of the success of the action.
  • for "Add to my reading list", the user should be able to navigate to their reading list to confirm that an item was indeed added, but the experience would be more usable/accessible if they were immediately provided with a message that "XYZ was added to your reading list".

TL;DR - For the sake of all users, if a page control does not inherently trigger an immediate action/reaction/response, provide your own feedback to the user, to let them know if their action was successful or not.


We have a few buttons on our website that when clicked do somethings that are obvious (download a file, open a new tab etc) but don't actually change anything on the webpage.

Then the problem is that you are using a <button> when it should be an anchor (<a>).

Anything that changes the URL, points to a resource, opens a new window etc. should use an anchor tag, anything that changes something on the same page should be a <button>.

This is why you are struggling to get an answer that makes sense as to how to notify the user (you don't need to if you let the browser handle it natively), you are using the wrong element and making it difficult for yourselves!

By using an anchor tag the browser deals with all of the information someone requires (when the file is downloaded, knowing that a new tab is open etc.), saving you work and making your application accessible.

Bear in mind that you can still intercept the request with JavaScript and do anything you need to do, just make sure that the href is pointing to an actual resource and you will be golden!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.