Reviewed October 26, 2026
Accessible Wishlists and Save for Later: Labels, State, and Focus
Wishlist hearts and save for later links look trivial and break quietly: no state announcement, lost focus, icon only controls. How to build saving features everyone can use.
The tiny feature with many failure modes
Saving an item looks like the simplest interaction on a product page: tap the heart, move on. Underneath, that heart must communicate what it does, whether this item is already saved, and confirm that the action worked, to sighted users, keyboard users, and screen reader users alike. Most wishlist implementations manage the first audience and quietly fail the other two, because the feature ships as an icon with a click handler and nothing else.
The failure matters commercially as well as ethically. Wishlists are high intent features: savers come back and buy at strong rates. A saver who cannot tell whether the save worked, or cannot find the wishlist page again, is a warm lead your interface talked out of returning. Accessibility here is not compliance garnish. It is the feature functioning at all for a slice of your best customers.
Name and state: the core fix
Every save control needs an accessible name that includes the product, save jacket to wishlist, not a bare wishlist repeated forty times on a collection page. It also needs a state. A toggle button pattern with a pressed state tells assistive technology whether the item is currently saved, so users are not left guessing whether their tap added or removed the thing they wanted to keep.
Visual state must match programmatic state. If the heart fills in, the pressed state should be true, and color cannot be the only signal: a filled versus outline shape change, or a short text change, keeps the state readable for color blind users too. When the save succeeds, a brief, polite status message, saved to your wishlist, confirms it for screen reader users without stealing focus or popping a modal nobody asked for.
Focus and the disappearing item problem
Save for later in the cart creates the classic focus trap of this category: activating it removes the item from the cart list, and focus vanishes to the top of the page or is lost entirely, leaving keyboard users to navigate back and reorient. Correct behavior moves focus deliberately, to the save confirmation, to the next cart item, or to the cart heading, and announces that the item moved to the saved list.
The same care applies on the wishlist page itself. Removing an item should not strand focus, and moving an item to cart should confirm clearly. Empty states need words, not just a blank grid: your wishlist is empty, with a route back to shopping. These are small behaviors, but they are the difference between a feature that feels reliable and one that feels haunted.
Finding the wishlist again
A saved list nobody can relocate is a diary in a locked drawer. The wishlist link belongs in the account area and header with a real text label available to assistive technology, and the count of saved items, when shown as a badge, should be part of the accessible name: wishlist, 3 items. Guest wishlist behavior needs clarity too: if saving requires sign in, say so at the moment of saving, accessibly, rather than silently discarding the save.
Put the wishlist through the standard circuit: keyboard only saving from a collection page and a product page, a screen reader pass for names and state, focus checks in the cart flow, and a return visit to find and buy a saved item. Twenty minutes of testing covers a feature that quietly influences repeat revenue every single day.
Related reading
If this topic is useful, these earlier guides go deeper on connected questions: Subscription Management Portals: The Accessibility Page Everyone Forgets, Live Chat Widgets and Accessibility: The Button That Blocks the Page, and Screen Reader Friendly Product Filters: Where Stores Go Wrong.
Frequently asked questions
Why does a wishlist button need the product name in its label?
Collection pages can show dozens of identical wishlist buttons. A screen reader user listing buttons hears wishlist forty times with no way to tell which product each controls. Including the product name, save trail jacket to wishlist, makes every control identifiable out of visual context.
What does aria pressed do on a save button?
It exposes the toggle state to assistive technology, so users hear whether the item is saved or not saved as they interact. Without it, the button is a momentary control with no memory, and users cannot verify the save without leaving to check the wishlist page.
Where should focus go after save for later in the cart?
Focus should move to a logical, nearby place: the confirmation message, the next item in the cart, or the cart heading, and the move should be announced. Letting focus reset to the top of the page forces keyboard users to re navigate the entire page after every save.
Should wishlist counts be announced to screen readers?
Yes. When a badge shows a number visually, the accessible name of the wishlist link should include it, such as wishlist, 3 items. Otherwise screen reader users get no equivalent of the reminder that they have saved products waiting.