HTML Semantics
https://gomakethings.com/html-semantics/
If an element should be interactive, use something focusable
Buttons and links do different things
Links and buttons convey unique semantic meaning to screen readers.
A link implies that clicking it will take you to a different location—either another page, or a different spot on the current one. Buttons imply interactivity—showing and hiding content, submitting a form, and so on.
Marcy Sutton wrote a fantastic article about this.