Pharmacy website accessibility: refill forms, prescription transfers and store details

Accessibility fixes for independent and community pharmacies: online refill and transfer forms, patient portal logins, vaccine and clinic booking, drug information and PDFs, delivery details, contrast and zoom.

Independent and community pharmacies now take refill requests, prescription transfers, vaccine bookings and delivery orders online. Many of their customers are older, have low vision, or use a screen reader or switch device, so a refill form with unlabelled fields, a login with a picture puzzle, or opening hours posted as an image sends people back to the phone queue. Here's what to check.

1. Refill and transfer forms

Every field needs a visible label, not just grey placeholder text that disappears when you type. Prescription numbers need a hint saying where to find them, and name, phone and date-of-birth fields should use autocomplete so browsers can fill them in. Pickup or delivery choices should be a real radio group with a legend. (WCAG 3.3.2, WCAG 1.3.5, WCAG 1.3.1)

<label for="rx">Prescription number</label>
<p id="rx-hint">It's the number after "Rx" at the top of your bottle label.</p>
<input id="rx" name="rx" aria-describedby="rx-hint" inputmode="numeric">
<label for="dob">Date of birth</label>
<input id="dob" name="dob" autocomplete="bday">
<fieldset>
  <legend>How do you want to get it?</legend>
  <label><input type="radio" name="get" value="pickup"> Pick up in store</label>
  <label><input type="radio" name="get" value="drive"> Drive-through</label>
  <label><input type="radio" name="get" value="delivery"> Local delivery</label>
</fieldset>
<!-- example values -->

2. Errors and confirmation messages

If a prescription number is wrong, say which field and how to fix it in text, not just a red border. Keep everything the person already typed, and don't ask again for details they gave earlier in the same request. After they submit, announce the result ("Refill request received. We'll text you when it's ready.") so screen reader users know it worked. (WCAG 3.3.1, WCAG 1.4.1, WCAG 3.3.7, WCAG 4.1.3)

<p role="status">Refill request received for 2 prescriptions. We'll text you when it's ready.</p>
<!-- example values -->

See form error messages and accessible contact forms.

3. Patient portal and app logins

Many pharmacies link to a portal or app from their software vendor. Logins shouldn't rely on remembering a code or solving a picture puzzle with no alternative: let password managers paste, allow "show password", and give an accessible alternative to any CAPTCHA. Sessions that time out should warn people and let them extend. (WCAG 3.3.8, WCAG 2.2.1) Ask the vendor for its accessibility conformance report (often called a VPAT); see VPATs explained and login and CAPTCHA accessibility.

4. Vaccine and clinic booking

Flu, COVID and travel vaccine sign-ups usually use a calendar widget. Check that dates and time slots can be chosen with the keyboard, that full slots are marked in text (not only greyed out), and that eligibility questions are a labelled form, not an image. (WCAG 2.1.1, WCAG 4.1.2) Run our booking widget test on yours.

5. Drug information, leaflets and PDFs

Medication guides, price lists, vaccine consent forms and savings-club details are often scanned PDFs or images. Put the key facts on the page as text with headings, and if a form must be a PDF, offer a fillable, tagged version or a web form instead. Product photos need alt text that names the product (alt="Example: blood pressure monitor with upper-arm cuff"). (WCAG 1.1.1, WCAG 1.4.5) See accessible PDFs and alt text examples.

6. Hours, locations and delivery details as text

Store, pharmacist and drive-through hours, holiday closures, delivery areas and phone numbers should be plain text, not a banner image, with a text address next to any embedded map. Say factually what's available, such as a step-free entrance, a lower counter, seating while you wait, large-print labels or talking prescription labels if you offer them. Avoid "fully accessible" with no detail. (WCAG 1.3.1) See accessible maps and location pages and accessible hours tables.

7. Contrast, zoom and tap targets

Many customers read with low vision, so body text needs strong contrast and the page must still work at 200% zoom and on a narrow phone without sideways scrolling. Buttons like "Refill now" and "Call the pharmacy" should be big enough to tap easily, and the way to get help (phone, chat) should sit in the same place on every page. (WCAG 1.4.3, WCAG 1.4.10, WCAG 2.5.8, WCAG 3.2.6) Check colours with our free contrast checker guide and see font size and line spacing.

8. Pop-ups, chat and health videos

Coupon pop-ups and chat widgets must be reachable with the keyboard, close with Escape and not cover the refill button on a phone. Caption how-to videos (using an inhaler, an injection pen) and offer a transcript. (WCAG 1.2.2) See the pop-up and chat widget checklist and video captions.

Common mistakes

A 15-minute check you can do today

  1. Using only Tab, Shift+Tab, Space and Enter, request a refill for a made-up prescription number and check the error tells you what went wrong.
  2. Fill the form correctly and confirm you get a clear text message that it was received.
  3. Zoom your browser to 200% and check hours, the phone number and the refill button are still visible without scrolling sideways.
  4. Open your portal login and check a password manager can fill it.
  5. Find your holiday hours and delivery area. Are they text you can select?

If you take Medicaid or other HHS funding, read our HHS Section 504 web rule guide to see whether its dated WCAG 2.1 AA rule applies to you; your lawyer can confirm.

What a scan can and can't check here

Our scan is automated, so it finds only part of the barriers on this page: missing alt text, unlabelled fields and buttons, low contrast and similar code problems on the pages it visits. It can't log in to a patient portal, submit a real refill, test a vendor's app, or judge whether your store details are accurate, which is why the 15-minute check matters. Related: medical clinic websites, optometrist and eye care websites, senior living and home care websites, online store checkout.

This is general technical guidance, not legal advice, and it doesn't certify compliance with the ADA or any law.

Want the fixes written for you?

Start with a free homepage snapshot. The $149 Fix-Pack scans up to 10 pages and gives copy-paste fixes for your platform within 48 hours, with a 14-day refund promise. See a sample report first.

This is general technical guidance, not legal advice, and it does not certify compliance with the ADA or any law.

Related guides

All guides

This guide is general technical information, not legal advice. Following it does not certify ADA or any legal compliance. Automated checks find only part of accessibility barriers.

Check your own site

Run a free homepage snapshot to see your top 3 issues in about a minute, or order the $149 Fix-Pack for up to 10 pages with copy-paste fixes for your platform.

Get my free snapshot