
Button vs. Link: Native Semantics Before Custom Click Handlers
Use links for navigation and buttons for actions, preserving native focus and keyboard behaviour before adding custom click handlers or ARIA roles.
Articles
Development is the broadest category in my writing, so it works as the main archive rather than a narrow subject label. It brings together implementation notes and technical decisions, with delivery lessons from across the rest of the site.

Use links for navigation and buttons for actions, preserving native focus and keyboard behaviour before adding custom click handlers or ARIA roles.

Choose between textContent and innerHTML safely, handle Internet Explorer's innerText fallback, and know exactly when untrusted HTML needs sanitisation.

removeEventListener() Needs the Same Function ReferenceUnderstand why removeEventListener needs the original callback reference, how anonymous functions differ, and what Internet Explorer required in 2010.