Make the Clickable Thing a Button
Decide what you would build from the brief alone. Everything below it is available, but the exercise stops working if you open it first.
A card grid has a "Add to cart" control built as <div class="btn" onclick="addToCart(id)">. It looks right and works when clicked. Replace it with something correct, and list everything you got back.
Keeping the div and adding role="button" and tabindex="0", because an accessibility checker then reports no violations and a screen reader announces "button". The role is a promise about behaviour that the element does not keep: Enter and Space still do nothing, so the control is announced as a button, focused like a button, and then silently fails to activate — which is worse than the original, because now the user has been told it works. Making that promise true means writing a keydown handler that handles Enter and Space separately, prevents Space from scrolling the page, and reimplements the disabled state. All of that is already in <button>.