Button Link Accessibility
Best Practices
A button-link must be a real <a> element with a valid href attribute, never a styled <div> or <span> with a click handler. This preserves native link semantics and keyboard operability.
Use a button-link only when the action navigates to a URL. If the action triggers JavaScript behaviour instead, use a real button .
Removing the href attribute fully disables a button-link. For a partially disabled, still-focusable state, use aria-disabled="true" instead. aria-disabled only announces the state, so the link must also be prevented from navigating via JavaScript.
Interaction Design
Pointer
Button links should not have a hand cursor. See Hand Cursor on Buttons .
Keyboard
A button link must activate with ENTER key (not SPACEBAR ), consistent with native link behaviour.
Screen Reader
A button link must announce with a role of “link”.