Dry cleaners and laundry services have quietly become e-commerce businesses. What used to be a storefront transaction now runs through a website or app: the customer schedules a pickup window, lists the garments, tracks the order through cleaning and delivery, and pays or manages a recurring wash-and-fold subscription online. Every one of those steps is a common accessibility failure point. Pickup scheduling widgets are typically third-party calendars that cannot be operated with a keyboard and announce nothing useful to a screen reader, so a blind customer simply cannot book. Price lists are frequently published as scanned PDFs or as images of a table, which means the prices are invisible to assistive technology and unreadable to anyone who needs to enlarge text. Order tracking pages signal status with color-coded badges alone, and update the status without announcing the change. Subscription plans are easy to start and hard to cancel without a mouse. This matters commercially as much as legally: pickup-and-delivery laundry is one of the few services that is genuinely more valuable to customers with limited mobility or vision, and those are exactly the customers most likely to be blocked by the booking flow. Legally, a dry cleaner serving the public is treated as a place of public accommodation, so its website is expected to meet ADA Title III expectations with WCAG 2.1 AA as the practical benchmark. This guide covers the legal picture, the failures that show up most often on laundry service sites, and a plain-language checklist you can work through without a developer.

Legal Requirements

Key Accessibility Issues in Dry Cleaners & Laundry Services

Pickup and Delivery Scheduling Widgets That Cannot Be Used Without a Mouse

Scheduling a pickup means choosing a date, a time window, and often a recurring frequency. Most laundry sites embed a third-party calendar widget that renders dates as unlabeled buttons or plain div elements, cannot be reached with the Tab key, and announces nothing when a date is selected. Time windows are commonly rendered as colored blocks where availability is shown by color alone. A keyboard or screen reader user reaches the booking step and has no way to complete it, which ends the order entirely.

How to fix:

Use a date picker that is fully keyboard-operable with arrow keys, exposes each date as a real button with an accessible name including the full date, and marks unavailable dates with a disabled state rather than only a color. Always keep a plain text date input as an alternative. Label time windows in text ('8:00 AM to 11:00 AM, 2 slots left'), not just by color, and announce the selection so the user knows it registered.

Price Lists Published as PDFs or Images of a Table

Per-garment pricing is the single most requested piece of information on a dry cleaner's website, and it is very often a scanned price sheet, an exported PDF, or a screenshot of a spreadsheet. Screen readers cannot read text inside an image, untagged PDFs read as an unstructured jumble with no row and column relationships, and neither one reflows when a low-vision customer enlarges text to 200 percent. The customer cannot find out what a comforter costs without calling.

How to fix:

Publish prices as real HTML tables with proper header cells for the garment and service columns, so a screen reader can announce 'Comforter, queen, dry clean, $34' as a coherent row. If a downloadable PDF is offered, treat it as a secondary copy of accessible HTML, and tag it properly with a real table structure. Never rely on an image of pricing as the only source.

Order Tracking That Signals Status With Color Alone and Updates Silently

Garment tracking pages show stages such as picked up, in cleaning, ready, and out for delivery, usually as a progress bar with colored dots or badges. When the only difference between 'in cleaning' and 'ready' is the badge color, colorblind customers cannot tell them apart, and screen reader users hear a meaningless list of items. Worse, when the status refreshes in the background, the change is not announced, so the customer never learns their order is ready.

How to fix:

Pair every status indicator with a text label that states the stage and whether it is complete, current, or upcoming. Mark the tracking region as a live region so status changes are announced automatically, and include a timestamp in text. Make sure the progress steps are readable in a linear order that matches the visual sequence.

Subscription Plans That Are Accessible to Start and Inaccessible to Cancel

Recurring wash-and-fold plans are usually easy to sign up for and much harder to leave. Cancellation is commonly hidden behind a nested account menu, a modal dialog that traps keyboard focus, or a confirmation step where the 'Keep my plan' button is a real button and 'Cancel plan' is a styled link with no accessible name. Cancellation flows that are harder for disabled customers than for everyone else also draw regulator attention under click-to-cancel style consumer protection rules.

How to fix:

Make the cancellation path reachable by keyboard in the same number of steps as signup. Ensure any confirmation modal receives focus when it opens, traps focus only while open, closes on the Escape key, and returns focus to the trigger. Give both buttons clear text labels, and confirm the outcome in text that a screen reader announces rather than only a toast that disappears.

Locations, Hours, and Phone Numbers Buried in Maps and Graphics

Many laundry sites present the service area as an embedded map with no text alternative, list store hours inside an image, and render the phone number as part of a header graphic. Screen reader users get an unlabeled map frame and no way to find out whether their neighborhood is covered. Phone numbers written without separators are read as one enormous number, and phone links that only exist in a sticky graphic bar disappear at high zoom.

How to fix:

List the covered ZIP codes or neighborhoods and the store hours as real text near the map, and give the map frame an accessible title. Write phone numbers as real text with standard separators and mark them up as tel links with a visible label. Check that address, hours, and phone remain visible and usable at 200 percent zoom and on a narrow mobile screen.

Compliance Checklist

  • Pickup and delivery scheduling is fully operable by keyboard, with each date exposed as a labeled control and a text date input available as an alternative
  • Time windows and availability are conveyed with text labels, not by color alone, and selections are announced to assistive technology
  • Per-garment price lists are published as real HTML tables with proper header cells, not as images or untagged PDFs
  • Order tracking status is labeled in text as well as by color, and background status changes are announced through a live region
  • Order forms have persistent, programmatically associated labels, and validation errors are announced with focus moved to the first error
  • Subscription signup and cancellation are equally reachable by keyboard, and confirmation dialogs manage focus and close on Escape
  • Account login, including any one-time code step, allows pasting codes and does not impose a timeout that cannot be extended
  • Store locations, service-area ZIP codes, and hours appear as real text near any embedded map, and the map frame has an accessible title
  • Phone numbers are real text with standard separators, marked up as tel links, and remain visible at 200 percent zoom
  • Checkout and payment fields use correct autocomplete attributes and are tested end to end with a keyboard alone

Further Reading

Other Industry Guides