Flyers, promo graphics and images of text: posting Canva and AI-made graphics accessibly
How to post event flyers, sale banners, menus and AI or Canva-made graphics on a small business website accessibly: real text next to the image, alt text that carries the details, contrast and size checks, platform notes and a 5-minute check.
Event flyers, sale banners, specials boards, menus and "we're hiring" posters are now quick to make with Canva templates or an AI image tool, and many small businesses post them straight onto their website as a picture. The trouble is that text inside a picture is invisible to screen readers unless you repeat it, can't be resized or reflowed on a phone, can't be found by search engines or copied, and often sits on a busy photo with low contrast. You can keep the graphic. You just need the words to be on the page as real text too.
1. Put the words on the page, not only in the picture
WCAG asks you to use real text instead of pictures of text wherever you can (1.4.5 Images of Text). Logos are the main exception. For a flyer or banner, the simplest fix is to type the key details (what, when, where, price, how to book) as normal text next to or under the image, and treat the image as decoration or a short summary.
<section aria-labelledby="fall-event"> <h2 id="fall-event">Fall Open House</h2> <p>Saturday, November 14, 10 am to 2 pm, at 123 Main Street.</p> <p>Free coffee, 15% off all services booked that day.</p> <p><a href="/book">Book a spot</a> or call <a href="tel:+15555550100">555-555-0100</a>.</p> <img src="open-house-flyer.jpg" alt="Open house flyer with the same details as above"> </section>
The event, address, discount and phone number are example details. Because the details are in real text, the short alt text just says what the picture is and points back to them.
2. If the picture must carry the words, write them in the alt text
Sometimes a graphic is the only place the information lives, such as a social post you embed or a one-off promo tile. Then the image needs a text alternative that gives the same information (1.1.1 Non-text Content): every date, price, condition and call to action, not "flyer" or "sale banner".
<img src="black-friday.png"
alt="Black Friday: 20% off all gift cards, Friday November 27 only, in store and online.">
The offer is example text. Keep alt text to what the image says and shows that matters. If a flyer holds more than a sentence or two, put the full text on the page or in a linked text version instead of a very long alt.
3. Menus, price lists and schedules belong in text
A menu, price list, class timetable or opening-hours graphic is exactly what people want to read, zoom and copy on a phone. Build it as text or a simple table, and keep the designed version as an optional download. See accessible tables for prices, hours and menus and accessible PDFs and menus.
4. Check AI-made and template graphics before you post
- Read every word. AI image tools have improved at lettering, but they still misspell words, invent dates and swap numbers. A wrong date in a picture is wrong in the alt text too if you copy it blindly.
- Contrast. Text over a photo or gradient often fails contrast in some spots (1.4.3 Contrast (Minimum)). Use a solid or darkened panel behind the words. You can check colours with our colour contrast guide.
- Size. Text that's readable on a poster is often tiny on a phone. Real text can be zoomed to 200% and reflow (1.4.4 Resize Text); text in a picture just gets blurry.
- Alt text. If you let an AI tool write the alt text, check it says what your flyer says. See reviewing AI-generated alt text.
5. Where to change this on common platforms
- WordPress: add a heading and paragraph block next to the image block, and fill in the image's alternative text field. See WordPress fixes.
- Shopify: put sale details in the announcement bar or a rich text section rather than only in the slideshow image, and add alt text to banner images. See Shopify fixes.
- Squarespace, Wix and GoDaddy: use a text block with the event or offer details beside the image, and set each image's alt text in its settings. See Squarespace, Wix and GoDaddy.
- Webflow and AI-built sites: check that hero banners use real heading text over a background image, not a single image with the words baked in. See Webflow fixes and AI-built sites.
Settings names change often, so check your platform's own help pages for the current option.
Common mistakes
- The whole home page hero is one image with the headline, offer and "Book now" baked in.
- Alt text that says "flyer", "banner" or the file name.
- A menu or price list posted only as a photo or screenshot.
- White text on a busy photo with no panel behind it.
- An AI-made flyer with a typo or wrong date nobody caught.
- Relying on an overlay's "read aloud" button to read pictures of text. See overlays vs real fixes.
A 5-minute check you can do today
- On your home page, try to select the main headline and offer with your mouse. If you can't highlight the words, they're in a picture.
- Do the same on your menu, prices, hours and events pages.
- For each picture with words in it, check the same details are in real text nearby or in the alt text.
- Open the page on your phone and zoom in. Is every important word still sharp and readable?
- Read every word on any AI-made or template graphic once more for spelling, dates and prices.
What a scan can and can't check here
Our scan is automated, so it finds only part of the barriers on the pages it visits. It flags images with no alt text and text-based contrast problems. It can't read the words inside a picture, so it can't tell whether your alt text matches the flyer, whether a banner's text has enough contrast against the photo, or whether a date is wrong, which is why the 5-minute check above matters. Our Fix-Pack reports include copy-paste fixes for your platform for what the scan finds.
Related: alt text examples, AI-generated alt text, accessible PDFs and menus, website accessibility checklist.
This is general technical guidance, not legal advice, and it doesn't certify compliance with the ADA or any law, or protect against claims.
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.
Sending followers to a link-in-bio page? See link-in-bio page accessibility.
Showing results, an impact report or a goal thermometer? See charts, graphs and infographics accessibility.
Posting holiday hours or a closure notice? See announcement bars, holiday hours and closure notices.
Using QR codes on tables, flyers or signs? See QR codes and QR code menus.
Running a Black Friday or holiday sale? See promo codes, sale prices and sale banners.
Related guides
- Holiday sales, countdown timers, pop-ups and time limits: an accessibility check for small business sites
- Don't rely on colour alone: swatches, sale prices, stock status and form errors
- Tooltips, info icons and hover pop-ups: showing fees, sizes and help text to everyone
- Drag, swipe and slider controls: price filters, before-and-after photos and galleries everyone can use
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, then decide
- Free homepage snapshot. Your top 3 issues in about a minute. No signup, no card.
- $149 Fix-Pack, if you want the full list. Up to 10 pages scanned, issues ranked by impact, copy-paste fixes for your platform, delivered within 48 hours, plus one re-scan after you apply them.
Get my free snapshot Order the Fix-Pack – $149
14-day refund promise. See a sample report first. A technical report, not legal advice; automated checks find only part of accessibility barriers.