A screen reader will announce a standard a
element with an href
attribute as "link" and a button
element as "button". In order to avoid confusion, you should use links for navigation and buttons for actions.
If you are building a web app, you may run into the issue that HTML has no elements for specific UI components that you may wish to create. For example, HTML has no elements for menubars, menus and menu items. For that scenario, you may wish to use ul
, li
and a
elements and add specific WAI-ARIA roles to these elements, namely menubar
, menu
and menuitem
, respectively.
However, for something as simple as an image button, you can simply use an input
element with the appropriate attributes, as explained in Image button has non-empty accessible name (W3C Web Accessibility Initiative).