Summary
The whole PropertyCard is wrapped in a <Link>. Inner clickable elements (cart, favourite, compare toggle, "View") have stopPropagation but no equivalent in the keyboard activation model, leading to nested-interactive-element violations and screen readers being confused about how to focus.
Affected area
src/components/PropertyCard.tsx
Steps to reproduce
Tab into a card; focus moves to the <a> first, then elements inside have ambiguous tabindex; keyboard Enter on the inner buttons can both activate the link AND the inner button.
Expected behaviour
Make the card a <article> and provide an explicit "View details" link plus standalone buttons for cart/favorite/compare.
Acceptance criteria
Summary
The whole
PropertyCardis wrapped in a<Link>. Inner clickable elements (cart, favourite, compare toggle, "View") havestopPropagationbut no equivalent in the keyboard activation model, leading to nested-interactive-element violations and screen readers being confused about how to focus.Affected area
src/components/PropertyCard.tsxSteps to reproduce
Tab into a card; focus moves to the
<a>first, then elements inside have ambiguous tabindex; keyboard Enter on the inner buttons can both activate the link AND the inner button.Expected behaviour
Make the card a
<article>and provide an explicit "View details" link plus standalone buttons for cart/favorite/compare.Acceptance criteria