Accessible Gift Wrapping, Gift Messages, and Receipt Options
Gift options hide in collapsed cart sections with unlabelled checkboxes, character counters that never speak, and preview text in image form. A walk through the failures and fixes.
Gift options are where a shopper is thinking about someone else, under time pressure, often in the last week before a holiday. The controls they meet are usually the least loved in the cart: a collapsed add a gift message section that a screen reader does not announce as expandable, a checkbox with the label on the wrong side of the click target, a text box with a 150 character limit enforced by silently refusing the 151st character, and a preview rendered as an image of handwriting that nobody can read back to check.
None of that requires a lawsuit to justify fixing. It requires noticing that the gift flow combines several WCAG basics in a small space: 1.3.1 for the expandable structure, 3.3.1 and 3.3.3 for errors and suggestions when a message is too long or a paid wrap option conflicts, 4.1.3 for a character count that matters, and plain label quality under 2.4.6. A flow that fails those is not a premium gift experience. It is a toll booth.
The message box, counted properly
A character limit without a spoken or visible count is a trap in slow motion. The shopper writes a warm message, the box stops accepting letters mid word, and nothing explains why. Show the limit before typing starts, show remaining characters as they type, and expose that count through a live region politely, not on every keystroke, but at sensible points like 20 characters left. If a message gets cut, say so and show what survived. Silent truncation of a personal message is a small cruelty with a technical fix.
Profanity and content filters deserve the same honesty. If a filter rejects a message, the error should name the problem in words a person can act on, tied to the field, not a generic something went wrong under the checkout button. Filters that block foreign language names or words with accented characters are a known embarrassment in gift flows, and the only way to find them is to test messages that are not plain English test strings.
Wrap choices a person can picture
Gift wrap options presented as three unlabelled paper swatches are images in search of a description. Each option needs a name in text: navy paper with a gold band, plain kraft, no wrap, and the price attached to that option in the label, not in a footnote after selection. Radio buttons should behave like radio buttons, one choice from the group, reachable and operable as a group with arrow keys, because that is the pattern assistive technology announces and shoppers expect.
The gift receipt and hide prices choices belong next to the wrap, in the same section, with defaults that favour the recipient. A pre-ticked option to include prices on a gift receipt is a decision somebody made once in a settings screen. Review it as if a customer were watching, because eventually one will be, in a review, with a screenshot.
Confirmation is part of the gift
After checkout, the gift choices need to survive into the confirmation page and email as text: wrap selected, message exactly as written, receipt type. That confirmation is the shopper's only proof the personal part of the order was captured, and it is also the record your support team will need when a recipient reports a missing card. If the message appears in confirmation as an image, it fails the shopper who wants to proofread it with a screen reader and the support agent searching for it.
Test the whole gift flow end to end in the seasonal readiness pass, not just the cart section. Gift traffic is spiky, the failures are concentrated in one collapsed panel, and a single November afternoon of testing covers the exact weeks where getting it wrong costs the most goodwill.
Related reading: Accessible Preorder and Deposit Flows: Dates, Balances, and Honest Timers, Accessible Build-a-Box Flows: Multi-Step Customisation Without the Traps, Accessible Store Credit: Balances, Codes, and Checkout Fields.
Frequently asked questions
Why does a character counter need to be accessible?
Because the limit changes what the shopper can do, and a visual only counter leaves a screen reader user to discover the limit by being silently stopped. Announce the limit up front and the remaining count at sensible intervals through a live region, and never truncate a message without saying so and showing what remains.
How should gift wrap options be presented?
As a named radio group with text labels that include the paper description and any extra charge, for example Kraft paper, add 4 dollars. Swatch images can support the text but cannot be the only identifier. One choice, arrow key navigation, and a clear indication of which option is selected.
What error handling do gift messages need?
Specific, field level messages in text. Too long should say by how much and what was kept. A filter rejection should say the message could not be accepted and why in plain terms. A generic checkout error three fields away fails WCAG 3.3.1 Error Identification in spirit and usually in letter.
Should gift choices appear in the order confirmation?
Yes, as text: the wrap option, the full message as written, and whether prices are hidden. The shopper needs proof the personal details were captured, and support needs a searchable record. An image of the message in the confirmation email serves neither.