Accessibility in Sparks
Sparks targets WCAG 2.1 Level AA, EN 301 549, and European Accessibility Act (EAA) requirements. This page tells procurement, IT, and business stakeholders what to expect today—with an honest view of current coverage and where to find settings in the app.
Status: July 9, 2026 (Vista-Teams-Docs & Vistameet-Teams ACCESSIBILITY_STATUS)
Target standards
Product development follows common European requirements. What you experience depends on browser, operating system, plan, and organization policies.
-
WCAG 2.1 Level AA
Web Content Accessibility Guidelines – guidance for perceivable, operable, and understandable interfaces.
-
EN 301 549 V3.2.1
Harmonised accessibility requirements for ICT products and services in procurement (EU).
-
European Accessibility Act (EAA)
Framework for accessible digital services – relevant for vendors and public buyers.
Transparency on current status
Sparks follows WCAG-oriented patterns (landmarks, ARIA, keyboard, i18n in German and English). There is no full WCAG certification; coverage is heterogeneous—the app shell, account UI, and meeting room are furthest along; many feature areas are only partially tested. Automated axe tests currently run on public routes (/login, /join-meeting) only, not the full signed-in product.
Overview: where to find what
In the Sparks app (after sign-in), users manage accessibility mainly via Settings. The public accessibility statement with feedback form is at route /accessibility in the app.
| Topic | In Sparks |
|---|---|
| Readability & contrast | Settings → Appearance (font size, density, light/dark/system) |
| Keyboard & shortcuts | Settings → Keyboard shortcuts; global search Ctrl+K / Cmd+K |
| Orientation | Skip link “Skip to main content”; landmarks (header, navigation, main) |
| UI language | Settings → General; html lang updates on language change |
| Live captions | Settings → Accessibility; start transcription in meeting (moderator) |
| Statement & feedback | Route /accessibility in the app or link from Accessibility settings tab |
Settings → Accessibility
These options are stored locally in the browser and apply to meetings on this device.
| Setting | Effect |
|---|---|
| Identify in live captions | Off: your caption lines appear as neutral “Speaker”, not your name—in live display and transcript. |
| Always show subtitles | On: live captions are visible when the meeting starts, whenever captions are available. |
Plan: live transcription and captions
Organizers can also set meeting options per appointment (allow captions/transcript).
| Aspect | Starter / Free | Paid plans |
|---|---|---|
| Start live transcription | Demo window only (typically first 10 minutes after connecting) | Any time in meeting (moderator), if allowed by server |
| Settings (identify / always show) | Apply only while live captions are running | Always, once captions are available |
| After demo ends | Transcription stops; UI notice shown | — |
Meetings
The meeting room uses ARIA, live regions, and keyboard operation—see technical documentation (ACCESSIBILITY_MEETING_ROOM).
-
Toolbar & controls
Buttons with aria-label; status (e.g. screen sharing) via live region; Escape closes flyouts and restores focus.
-
Dialogs
Participant list, whiteboard, waiting room: role="dialog", aria-modal; view mode as radio group.
-
Video tiles
Loading/status text in German/English; video elements with descriptive aria-label (participant, local/remote, screen share).
-
Live captions & transcript
Moderators start/stop transcription; display and transcript panel tied to accessibilityStore.
App, keyboard, and operating system
- ✓
Skip link & landmarks
“Skip to main content” visible on keyboard focus; header, aside (navigation), main with id main-content.
- ✓
Keyboard shortcuts
Teams-style list under Settings, customizable and stored in localStorage.
- ✓
Reduced motion
When prefers-reduced-motion is set, in-app animations are greatly reduced.
- ✓
Zoom & touch
Viewport does not block zoom (maximum-scale=5); account app: touch targets at least 44×44 px on mobile.
- ✓
Screen readers & OS
Narrator, VoiceOver, TalkBack with a current browser; OS contrast and magnification apply to the whole app.
Chat, channels, and other areas
- •
Matrix chat
Message area role="log", aria-live; loading/errors with status/alert; E2EE wizard with focus management.
- •
Teams / Matrix channels
Similar to chat with live regions; MS channels partially with ARIA—not fully audited.
- •
Calendar, planner, AI
role="main" and selective live regions; complex UI (e.g. planner drag-and-drop) without fully documented keyboard alternative.
Development status by area
| Area | Status | Note |
|---|---|---|
| App shell (navigation, skip link) | Good | AppLayout with landmarks and focusable main content |
| Account app (sign-up, profile) | Reviewed | Skip link, semantic headings, 44 px touch targets |
| Meeting room | Partial | ARIA, toolbar, tiles i18n; gaps in Immersive View |
| Settings & statement | Available | Accessibility tab, /accessibility, feedback form |
| Automated tests | Limited | Axe E2E on /login and /join-meeting only |
Known limitations
- Embedded tabs, custom tabs, and Microsoft Teams apps (iframe): accessibility of the external site applies.
- Immersive View (Together Mode): primarily visual; no screen reader description per participant slot on the canvas.
- Admin UI and Outlook add-in: not covered in accessibility documentation.
- No focus trap in guest waiting room yet (optional improvement).
Quality assurance
In the Vistameet-Teams project: npm run test:e2e:a11y (Playwright + axe-core, WCAG 2.0/2.1 Level A & AA tags). Manual screen reader testing (NVDA, VoiceOver) for the full signed-in experience is recommended but not documented as a continuous process.
Feedback and accessibility statement
Concrete barriers help us prioritize. Please include browser, OS, and steps to reproduce.
Statement in the app
Signed-in users find the accessibility statement at /accessibility with a feature overview and feedback form (44 px touch height, aria-describedby). The text describes target features; actual coverage may lag in some areas—see transparency above.
Standards and further reading
External references to standards; product help at docs.sparks.team (accessibility help page).
- WCAG 2.1 – W3C
Web Content Accessibility Guidelines; Level AA as the target framework.
- EN 301 549 – ETSI
Harmonised accessibility requirements for ICT in procurement.
- European Accessibility Act – EUR-Lex
Directive (EU) 2019/882 on accessible products and services.
- Sparks help (documentation)
User-oriented help on settings and meetings.
Frequently asked questions
- Is Sparks fully certified to EN 301 549?
- No. Sparks implements WCAG-oriented patterns and documents status transparently. For tenders we provide this page, the in-app statement, and deeper operational details on request.
- How do we test Sparks with our screen reader?
- Use a current browser, DE or EN in Settings, reach the skip link via Tab, and join a meeting as guest or with a test account via /join-meeting. For live captions use a paid plan or the 10-minute demo window on Free.
- Where do we report barriers?
- Email accessibility@vistameet.eu or use the feedback form at /accessibility in the app.
Sparks in the feature comparison (accessibility row) → Security & compliance →