WeWeb is a no-code frontend builder aimed at production web applications, dashboards, and client portals that connect to external databases and backends such as Supabase, Xano, or REST APIs. Unlike simple website builders, WeWeb is used to ship real, data-driven interfaces, which raises the accessibility stakes: these are the tools people use to do work, manage accounts, and complete transactions, so keyboard and screen reader support are not optional polish. The flexibility that makes WeWeb powerful is also its main accessibility risk. Elements are placed on a visual canvas and many interactive patterns, such as tabs, dropdowns, accordions, and custom buttons, are commonly built from generic containers with click actions rather than native semantic elements, leaving them without the roles, states, keyboard behavior, and focus management assistive technology relies on. Data-bound lists and tables generated from a collection can produce repetitive or unlabeled markup, dynamically loaded content may update without announcing itself, and forms bound to a backend often skip real labels and accessible error handling. Modals and side panels frequently open without moving focus into them or trapping focus while open. Because WeWeb apps are often internal tools or customer portals for businesses operating in the EU, they fall within the scope of the European Accessibility Act, and public sector or enterprise clients increasingly require WCAG 2.1 AA conformance in procurement. This checklist covers the accessibility issues most likely to appear in a WeWeb app and how to fix them using semantic elements, element settings, and custom attributes.

Common Accessibility Issues

critical

Interactive Components Built From Generic Containers

WCAG 4.1.2

In WeWeb it is easy to build buttons, tabs, dropdowns, and accordions from divs or generic boxes with click workflows attached. These custom controls usually lack a button or link role, keyboard operability, and states such as expanded or selected, so keyboard users cannot reach or activate them and screen readers do not announce what they are or do.

How to fix:

Build interactive controls on native button and link elements, or assign the correct role, name, and states and implement keyboard handling for Enter, Space, and arrow keys as appropriate. Follow the WAI-ARIA Authoring Practices for patterns like tabs, menus, and disclosures, and ensure focus is visible and moves logically when a control is activated.

critical

Forms With Placeholder-Only Fields and Inaccessible Errors

WCAG 3.3.2

WeWeb forms bound to a backend commonly rely on placeholder text instead of persistent labels, and validation errors are often shown only as a color change or a message that is not linked to its field or announced. Screen reader users then cannot tell what a field expects or why a submission failed, which blocks account creation, logins, and data entry.

How to fix:

Give every input a persistent, programmatically associated label, and expose required status and format hints in text. When validation fails, present errors in text, associate each message with its field, move focus to or announce the first error, and confirm the submit control has a clear accessible name.

serious

Data-Bound Lists and Tables With Missing Structure or Labels

WCAG 1.3.1

Collections rendered as lists, card grids, and tables can produce markup without proper table headers, list semantics, or per-row labels, and icon-only action buttons repeated on every row often share the same generic name like 'Edit' with no indication of which record they affect. This makes tabular data and repeated actions confusing or unusable for screen reader users.

How to fix:

Use real table markup with header cells associated to data cells for tabular data, and give repeated per-row controls accessible names that include the record they act on, such as 'Edit order 1042'. Preserve list and heading semantics in generated content, and ensure sortable or filterable controls announce their state.

serious

Modals and Side Panels Without Focus Management

WCAG 2.4.3

WeWeb apps use modals, drawers, and side panels heavily for detail views and forms. When one opens, focus is often left on the underlying page, users can tab to content behind the overlay, and closing it does not return focus to the trigger, leaving keyboard and screen reader users lost.

How to fix:

When a modal or panel opens, move focus into it, keep focus trapped within it while open, and return focus to the triggering control when it closes. Expose it with an appropriate dialog role and accessible name, make the background inert, and ensure it can be closed with a clearly labeled keyboard-operable control and the Escape key.

serious

Dynamically Loaded Content That Is Not Announced

WCAG 4.1.3

WeWeb apps fetch and update data without full page reloads, so search results, saved confirmations, loading states, and error toasts appear visually but may not be announced. Screen reader users can be unaware that a list updated, a record saved, or an action failed, because the change happens silently in the DOM.

How to fix:

Announce important updates through a status or alert live region so assistive technology conveys them without stealing focus, using an assertive announcement only for urgent errors. Ensure loading indicators communicate their state in text, and confirm that after an action the resulting change or message is perceivable to screen reader users.

serious

Contrast and Focus-Visibility Failures From Custom Styling

WCAG 2.4.7

Custom design systems applied in WeWeb frequently use light gray text, low-contrast buttons, and styles that remove the default focus outline. Muted secondary text and disabled-looking controls can fall below contrast requirements, and without a visible focus indicator keyboard users cannot tell where they are in a data-dense interface.

How to fix:

Verify all text and interactive colors meet WCAG contrast ratios, including secondary text, placeholder-style hints, and button states, and never remove focus outlines without providing a clear high-contrast focus-visible replacement. Test focus visibility across forms, tables, menus, and modals in the actual app, not just in the editor preview.

WeWeb-Specific Tips

  • Prefer native button and link elements for anything clickable, and reserve generic containers for layout, since custom controls are the most common accessibility failure in WeWeb apps.
  • Give data-bound repeated controls unique accessible names that include the record they affect, so a screen reader user can tell 'Edit order 1042' from every other 'Edit' on the page.
  • Wire up focus management for every modal and side panel: move focus in on open, trap it while open, and return it to the trigger on close.
  • Announce silent data updates such as saves, search results, and errors through a live region so users who cannot see the change still learn it happened.
  • Test the app with the keyboard and a screen reader in a published preview, not just the visual editor, because generated markup and dynamic behavior only appear at runtime.

axe DevTools

A browser extension that runs automated WCAG audits against your published WeWeb app, flagging generic clickable elements, missing form labels, table structure problems, and contrast failures in custom styling.

NVDA

A free Windows screen reader for testing how WeWeb custom components, data tables, modals, and dynamic updates are announced, which is essential because these interactions only exist at runtime.

WAI-ARIA Authoring Practices

The W3C reference implementations for accessible tabs, menus, dialogs, and disclosures, giving the exact roles, states, and keyboard behavior to replicate when building custom interactive components in WeWeb.

Frequently Asked Questions

Are WeWeb apps accessible by default?

Not by default. WeWeb gives you a flexible canvas and lets you attach behavior to almost any element, so accessibility depends on how you build. The most common failures come from constructing buttons, tabs, and dropdowns out of generic containers that lack roles, keyboard support, and states, along with forms that use placeholder-only fields and modals that do not manage focus. WeWeb can produce accessible apps, but you have to deliberately use native elements, add correct roles and labels, and handle focus and live-region announcements yourself, then test with a keyboard and screen reader.

Do internal tools and client portals built in WeWeb need to meet WCAG?

Often yes. If the app is a customer-facing portal or a commercial service used by the public in the EU, it falls within the scope of the European Accessibility Act. Even for internal or B2B tools, employment law and enterprise procurement increasingly require WCAG 2.1 AA conformance, because employees with disabilities must be able to use the software and buyers ask for accessibility documentation before purchasing. Treating a WeWeb app like any other production application and building it to WCAG 2.1 AA is the safe default.

Further Reading

Other CMS Checklists