Odoo's Website Builder is the front door of the wider Odoo business suite: companies that run their invoicing, inventory, and CRM in Odoo often build their public website and eCommerce store with the same drag-and-drop snippet system. That makes Odoo sites disproportionately common among small and mid-sized European businesses -- exactly the audience the European Accessibility Act now covers, since most Odoo sites sell products or take service bookings online. The builder itself produces reasonably clean Bootstrap-based markup, but the snippet workflow creates predictable problems: image blocks published without alt text, auto-rotating carousel snippets with no pause control, theme presets whose muted text fails contrast, and multi-level dropdown menus that mouse users never notice are awkward for keyboards. None of these require a developer to fix -- almost everything on this list can be corrected from the website editor itself. This checklist walks through the issues we see most often on live Odoo sites, in rough order of legal and user impact, with concrete steps for fixing each one inside the builder.

Common Accessibility Issues

critical

Image and Media Snippets Without Alt Text

WCAG 1.1.1

Odoo's image blocks, gallery snippets, and eCommerce product photos publish happily with no alternative text. Editors drag an image in, adjust the crop, and move on -- the description field is tucked behind the image options and nothing prompts for it. Screen reader users hear the file name or nothing at all, and on product pages that can mean no way to tell items apart.

How to fix:

Select each image in the editor, open the image options panel, and fill in the description (alt text) field with what the image conveys -- for product images, describe the product variant, not just the name. Mark purely decorative images as decorative so screen readers skip them. Make alt text a required step in your content workflow for every new page and product.

serious

Auto-Rotating Carousel Snippets With No Pause Control

WCAG 2.2.2

The Carousel and Quotes snippets are staples of Odoo homepages, and by default they advance automatically. WCAG requires a way to pause, stop, or hide any auto-updating content that lasts more than five seconds, because moving content is unreadable for people with cognitive or attention disabilities and disruptive for screen reader users whose reading position keeps changing. The default snippets offer arrows but no pause button.

How to fix:

The simplest compliant fix is turning off autoplay: select the carousel, and in the snippet options disable automatic transition (or set the interval to manual). If marketing insists on rotation, replace the snippet with a static hero for the key message and keep secondary items behind manual next/previous controls -- rotating banners are consistently among the least-clicked elements on a page anyway.

serious

Theme Preset Text Colors That Fail Contrast

WCAG 1.4.3

Odoo themes ship with preset palettes, and several presets use muted gray body text, light text over hero images, or white text on brand-colored buttons that fall below the 4.5:1 contrast ratio for normal text. Because the presets look professional, editors assume they are safe. Low-vision users, older visitors, and anyone on a bright screen struggle to read the result.

How to fix:

Run your homepage and a product page through a contrast checker or WAVE. In the website editor's theme settings, darken the body and muted text colors and check button text against its background. For text over hero images, add a darker overlay via the snippet's background filter option -- Odoo supports this natively -- rather than hoping the photo stays dark enough.

serious

Multi-Level Dropdown Menus Hard to Use by Keyboard

WCAG 2.1.1

Odoo's header supports dropdown and mega-menu navigation. Sub-menus that open on hover can be difficult or impossible to operate with a keyboard alone depending on theme customizations: tabbing may skip sub-items, or the menu may close before a keyboard user can reach it. Since the main menu is the gateway to everything, a keyboard barrier here fails the whole site.

How to fix:

Test with the keyboard: Tab to each top-level menu item, press Enter to open its dropdown, and Tab through every sub-item. If items are unreachable or the menu collapses, simplify to single-level navigation in the menu editor, or ensure sub-pages are also reachable from parent-page content and the footer so no destination depends on the dropdown alone.

serious

Website Form Builder Fields With Unclear Labels and Errors

WCAG 3.3.2

Odoo's form snippet generates labeled fields by default, but editors frequently hide labels for a cleaner look (leaving only placeholders), add custom fields with vague names, or rely on the browser's silent validation. Required fields marked only by an asterisk, and error states shown only as a red border, leave screen reader users and colorblind users guessing what went wrong.

How to fix:

Keep visible labels on every form field -- if a design calls for hiding them, stop and reconsider, because placeholders are not labels. State requirements in the label text ('Phone number (optional)') rather than relying on asterisks alone, and after submitting an invalid form, check that the error message names the field and the problem in text, not just color.

Odoo Website Builder-Specific Tips

  • Most fixes on this list live in the website editor, not in code: image descriptions, snippet autoplay options, theme color settings, and background overlays are all editable by whoever maintains the site content.
  • Odoo sites almost always include eCommerce or appointment booking, which places them squarely in scope of the European Accessibility Act as of June 2025. Prioritize the checkout path: cart, address form, payment selection, and confirmation.
  • When you update or change your Odoo theme, re-check contrast and menu keyboard behavior. Theme updates can reset color presets and header behavior you previously fixed.
  • If you use Odoo Studio or custom QWeb templates from a partner, put accessibility in the acceptance criteria: ask the integrator to demonstrate keyboard-only checkout and a clean axe scan before sign-off, since custom template errors are the ones you cannot fix from the editor.

WAVE

Free scanner that overlays errors on your live Odoo pages -- the quickest way to find snippet images missing alt text and low-contrast theme text without touching code.

axe DevTools

Browser extension that gives precise WCAG references for each issue on rendered Odoo pages, useful for building a fix list or a ticket for your Odoo partner.

WebAIM Contrast Checker

Simple tool for verifying your Odoo theme's text and button colors meet the 4.5:1 ratio before you commit a palette across the whole site.

Further Reading

Other CMS Checklists