Accessibility statement: hosted activity log and <wt-activity>

Embed
Preview of the card
<a href="https://forumulate.com/p/watchtower/docs/activity-accessibility"><img src="https://forumulate.com/api/public/orgs/watchtower/spaces/docs/pages/0929bcae-3ac3-4431-8d95-f3aa612e23e6/social-card.svg?v=3e7ae33eec8b" alt="Accessibility statement: hosted activity log and &lt;wt-activity&gt;" width="600" height="315"></a>

Watchtower aims for WCAG 2.2 level AA on the hosted activity page (/a/<project>, custom domains, ?embed=1) and the <wt-activity> web component.

What we do

  • Every control is a native button, link, select, input or textarea with a visible label or an accessible name; icons are decorative (aria-hidden).

  • Keyboard: all actions work without a mouse. In the list, arrow keys and j / k move between events, Home / End jump, Enter opens the detail drawer, Escape closes it and returns focus to the event, / focuses the search.

  • Focus is always visible (2 px outline in the theme accent).

  • Status changes (results counted, verification, export queued, offline, live updates paused) are announced through polite live regions; errors use role="alert".

  • Similar events folded into a group expand with a button that reports aria-expanded; the "your last visit" divider is a list item with visible text.

  • Redacted and tokenised values are marked with a text title, not colour alone; notable events carry a text badge (outcome or severity) in addition to their colour.

  • 46 built-in locales with correct plural forms; Arabic, Hebrew, Persian and Urdu render right to left (dir="rtl"), including the drawer.

  • Long lists render with content-visibility and load further pages as you scroll; a "Load more" button remains for keyboard and assistive-technology users.

  • Live updates pause after two minutes in a hidden tab and the page says so.

  • Theme colours are the customer's choice. The dashboard theme editor warns when text on background falls below 4.5:1 contrast; the environment banner keeps at least 7:1.

How we check

  • Automated: axe-core runs against the rendered hosted page in the web test suite (apps/web/src/features/activity/hostedUx.test.tsx), with no violations allowed. Colour contrast is checked by the theme editor because it depends on the customer's palette.

  • Manual: keyboard-only and screen-reader passes (VoiceOver, NVDA) are on the release checklist of every change to the viewer.

Known limitations

  • A customer's custom CSS (customCss) or palette can lower contrast or hide focus outlines; we cannot check what the customer adds.

  • The volume sparkline is a visual summary; the same numbers are available as the list itself and through export.

Feedback

Report an accessibility problem through the product that links to this page, or to the address in your contract with that vendor. We answer within five working days.

Updated