Accessible Cart Promotions: Discounts Everyone Can Actually Apply
2026-10-24
Promotions are where carts quietly become unfair. A code field with no label, an error shown only as a red outline, or a discount that appears as a strikethrough graphic all work for some shoppers and fail for others. The discount exists, but only for people who can see the page the way the designer did.
Because promotions involve money, these failures feel personal. A shopper who cannot apply a widely advertised code pays more than everyone else for the same basket. That is both an accessibility problem and a trust problem.
The code field and its errors
Label the promo field in code, not just with placeholder text that disappears while typing. When a code fails, explain in words what happened and what to try, and place that message where screen readers announce it and where every eye lands, next to the field.
Never signal success or failure by color alone. A green tick icon without text, or a red border without a message, leaves keyboard and screen reader users guessing whether they saved money or made a mistake.
Automatic discounts need explanations
Automatic promotions confuse shoppers when the total drops with no visible reason, and they confuse assistive technology users more, because the explanation is often a small visual badge. Put the discount name and amount in the cart summary as plain text that updates when the basket changes.
Threshold offers need progress in words. Spend a little more to unlock free shipping should be a sentence with the remaining amount, updated as items change, not just a filling progress bar that many users cannot perceive.
Savings in the summary and at checkout
Show each discount as its own line with its name and the amount removed, then a subtotal after discounts. Shoppers verify savings line by line, and screen reader users navigate exactly those lines to confirm a promotion worked before paying.
Carry the same clarity into checkout and the confirmation email. A promotion that is visible in the cart but unexplained in the final total creates support contacts and abandoned orders at the last step, where they cost most.
Testing promotions with real tools
Test every promotion type, not just the standard code. Apply and remove codes by keyboard alone, repeat with a screen reader, and check that removing an item correctly removes a conditional discount and says so.
Build promotion checks into release testing. Marketing launches new offers constantly, and each new mechanic is a fresh chance to ship an inaccessible savings experience on top of an otherwise accessible cart.
Related reading
These earlier guides go deeper on connected questions: The Error Summary at Checkout: Accessible, Specific, and Worth Reading, Accessible Quantity Controls in the Cart: Steppers, Inputs, and Screen Readers, and Accessible Order Notes and Delivery Instructions: The Forgotten Cart Fields.
Frequently asked questions
Why do promo code errors fail accessibility checks so often?
Because they are often built as visual only signals: a shake animation, a red outline, or a small icon. Accessibility requires the same information in text, programmatically linked to the field so assistive technology announces it.
Should automatic discounts be announced to screen reader users?
Yes. When a discount appears or disappears because the basket changed, that change should be available as text in the summary and, for major changes, announced politely so users are not surprised at the total.
How should free shipping progress be made accessible?
State it as a sentence that updates, such as the amount left to reach free shipping, alongside any visual bar. The text version must update at the same time as the bar when items are added or removed.
Do confirmation emails need accessible discount details?
Yes. List each promotion by name with its amount, in reading order, as real text rather than inside images. Customers use the email as their receipt and their proof that a promotion applied.