Storyblok User Interface

Accessibility Report

This document is based on an audit performed on content authoring screens within the Storyblok App.

When issues related to any Success Criterion affect the usability of the product, explanations and remarks have been provided to describe the extent of the issue.


The following screens were tested in the scope of this evaluation:

  • Login
  • Dashboard
  • Content Overview

More screens are planned to be tested in the near future.

This report covers the degree of conformance for the following the Web Content Accessibility Guidelines 2.2 (Level A & Level AA).

Terms

The terms used in the conformance level information are defined as follows:

Compliant: The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.

Partially Compliant: Some functionality of the product does not meet the criterion.

Not Compliant: The majority of product functionality does not meet the criterion.

Not Applicable: The criterion is not relevant to the product.

Login Page

Tested December 2024

Success Criterion Compliance LevelConformance Level Notes
1.1.1 Non Text Content ACompliantStoryblok logo has role=”image” and aria-label with alternative text.
1.2.1 Audio-only and Video-only (Prerecorded)ANot Applicable No prerecorded video or audio only content on Login screen
1.2.2 Captions (Prerecorded)ANot Applicable No prerecorded video on Login screen, therefore no need for captions
1.2.3 Audio Description (Prerecorded)ANot Applicable No prerecorded video on Login screen, therefore no need for audio description
1.2.4 Captions (Live)AANot Applicable No live video on Login screen, therefore no need for captions
1.2.5 Audio Description (Live) AANot Applicable No live video on Login screen, therefore no need for audio description
1.3.1 Info & RelationshipACompliantMarkup is correct on login page, use of headlines and semantic elements conveys info & relationship
1.3.2 Meaningful SequenceACompliantSequence is mostly logical in the intended user flow
1.3.3 Sensory Characteristics ACompliantReferences and instructions provided inside the control panel do not rely on sensory information alone.
1.3.4 Orientation AACompliantBoth horizontal and vertical views work as well as different responsive screen sizes.
1.3.5 Identify Input PurposeAACompliantInput fields are associated with a label to make identifying input purpose clear
1.4.1 Use of ColorACompliantOn the login page, color is not the only differentiator for different status or errors. In addition to icons and use of color, there is also text to explain.
1.4.2 Audio ControlANot Applicable No Audio content on Login Page.
1.4.3 Contrast MinimumAACompliantAll text has sufficient color contrast of at least 4.5:1 against the background.
1.4.4 Resize TextAACompliantText can be resized to up to 200% without loss of functionality.
1.4.5 Images of TextAACompliantThe Storyblok Logo is an image of text, but as this is considered essential, it’s exempt from this success criterion.
1.4.10 ReflowAACompliantContent can be enlarged without increasing line length.
1.4.11 Non-text ContrastAACompliantWith the new and improved colors, all ui elements meet the minimum color contrast requirement of 3:1.
1.4.12 Text Spacing AACompliantUsers can adjust text spacing.
1.4.13 Content on Hover or FocusAANot Applicable No additional content on hover or focus on the login page.
2.1.1 KeyboardACompliantThe functionality on the login page is accessible by keyboard.
2.1.2 No Keyboard TrapACompliantNo keyboard trap on the login page.
2.1.4 Character Key ShortcutsANot Applicable No shortcuts on the login page
2.2.1 Timing AdjustableANot Applicable No content related time constraints. Two factor authentication is exempt from this rule.
2.2.2 Pause, Stop, HideANot Applicable No animations, blinking or scrolling on the login page.
2.3.1 Three Flashes or Below ThresholdANot Applicable No flashing animations on Login page
2.4.1 Bypass BlocksACompliantNo Skiplink on Login Page, but also no navigation or large amount of elements to bypass - therefore not applicable. Headline level one is used.
2.4.2 Page TitledACompliantPage title: Signing in - Storyblok
2.4.3 Focus OrderACompliantKeyboard users navigate content in a correct order.
2.4.4 Link Purpose in Content ACompliantAll Link purposes clear.
2.4.5 Multiple WaysAANot Applicable Not applicable.
2.4.6 Headings & LabelsAACompliantHeadings and labels describe their purpose.
2.4.7 Visible Focus AACompliantFocus is visible on interactive elements.
2.4.11 Focus not Obscured AACompliantElements in focus are not hidden or obscured.
2.5.1 Pointer GesturesANot ApplicableNot Applicable.
2.5.2 Pointer Cancellation ACompliant
2.5.3. Name in Label ACompliant
2.5.4 Motion Actuation ANot Applicable. Content is not dependent on a user's ability to move a device.
2.5.7 Dragging MovementsAA Not Applicable No dragging movements required on Login Page.
2.5.8 Target Size AACompliantTouch Target Sizes are sufficient on login PAge.
3.1.1 Language of PageACompliantLanguage of the page is set.
3.1.2 Language of PartsAACompliantLanguage of parts is set.
3.2.2 On FocusACompliant
3.2.3 On InputACompliant
3.2.4 Consistent Navigation AANot Applicable No Navigation on Login Page
3.2.5 Consistent IdentificationAACompliantComponents with the same functionality within a set of web pages are identified consistently.
3.2.6 Consistent HelpAANot Applicable No help mechanisms on this page.
3.3.1 Error IdentificationAPartially CompliantWhen providing invalid data in the email field, users are notified that the data is invalid, however, the issues is not specified more concretely.
3.3.2 Labels & InstructionsACompliantLabels & Instructions are provided for all tasks.
3.3.3 Error SuggestionAAPartially CompliantWhen missing to provide data, the user is notified that the field is required If invalid data is added, the user is informed that the data is invalid, but not, how to fix it.
3.3.4 Error PreventionAACompliantUser Data is checked, no legal consequences.
3.3.7 Redundant EntryACompliantNo repetitive entry of information required.
3.3.8 Accessible AuthenticationAANot Applicable No cognitive function test for authentication
4.1.2 Name, Role, ValueACompliant
4.1.3 Status MessagesAANot CompliantThe status ‘verification code sent’ is not announced via assistive technology

Dashboard Page

Tested April 2025

Success Criterion Compliance LevelConformance LevelNotes
1.1.1 Non Text Content ANot compliantCharts on dashboard don’t have a text alternative to the visual content.
1.2.1 Audio-only and Video-only (Prerecorded)ANot ApplicableNo audio or video only content on Dashboard page
1.2.2 Captions (Prerecorded)ANot ApplicableNo captions on Dashboard page.
1.2.3 Audio Description (Prerecorded)ANot Applicable No audio description on Dashboard page.
1.2.4 Captions (Live)AANot ApplicableNo (live) captions on Dashboard page.
1.2.5 Audio Description (Live) AANot Applicable No (live) Audio description.
1.3.1 Info & RelationshipAPartially CompliantSidebar < li > elements should be direct children of an < ol > or < ul > element. There is no < h2 > in the order of headline hierarchies
1.3.2 Meaningful SequenceAPartially CompliantThe tab panel has a tabindex=0, making it unnecessarily part of the tab order. The issue has been reported.
1.3.3 Sensory Characteristics ACompliantInstructions don't solely rely on sensory characteristics.
1.3.4 Orientation AACompliantContent is not restricted to a single display orientation.
1.3.5 Identify Input PurposeAANot ApplicableNo input elements on dashboard page.
1.4.1 Use of ColorACompliantColor is not used as the only indicator conveying information.
1.4.2 Audio ControlANot ApplicableNo audio elements on the page.
1.4.3 Contrast MinimumAAPartially CompliantColor Contrast on “Content Activity trend” not met. The issue has been reported.
1.4.4 Resize TextAACompliantText is resizable to up to 200%.
1.4.5 Images of TextAANot ApplicableNo text of images is used.
1.4.10 ReflowAACompliantContent can be enlarged without increasing line length.
1.4.11 Non-text ContrastAACompliantWith the new and improved colors, all ui elements meet the minimum color contrast requirement of 3:1.
1.4.12 Text Spacing AACompliantUsers can adjust text spacing.
1.4.13 Content on Hover or FocusAAPartially CompliantCurrently, you can’t close the hover effect once triggered by anything other than by moving away the mouse.
2.1.1 KeyboardAPartially CompliantIt’s not possible to reach the bottom part of the side bar navigation, as it has been taken out of the tab order. This issue has been reported.
2.1.2 No Keyboard TrapACompliantNo keyboard trap on Dashboard page.
2.1.4 Character Key ShortcutsANot Applicable No keyboard shortcuts implemented on the Dashboard page.
2.2.1 Timing AdjustableANot ApplicableThere is no time limit on this page.
2.2.2 Pause, Stop, HideANot ApplicableNo moving, blinking, scrolling, or auto-updating information on this page.
2.3.1 Three Flashes or Below ThresholdANot ApplicableNo flashes on the dashboard page.
2.4.1 Bypass BlocksANot Compliant No Skip link for the sidebar provided yet, implementation is planned.
2.4.2 Page TitledACompliantDashboard page has a page title.
2.4.3 Focus OrderANot CompliantIt’s not possible to reach the bottom part of the side bar navigation, it seems to be taken out of the tab order. This issue has been reported.
2.4.4 Link Purpose in Content ANot CompliantSidebar links don’t have discernible text. The issue has been reported.
2.4.5 Multiple WaysAANot Applicable
2.4.6 Headings & LabelsAAPartially CompliantH2 is skipped in the headline hierarchy
2.4.7 Visible Focus AAPartially CompliantFor multiple elements on the Dashboard page, focus style is not visible (elements in the activities panel) or has insufficient color contrast (card elements).
2.4.11 Focus not Obscured AANot Applicable
2.5.1 Pointer GesturesANot Applicable
2.5.2 Pointer Cancellation ACompliant
2.5.3 Name in Label ACompliant
2.5.4 Motion Actuation ACompliant
2.5.7 Dragging MovementsAA Not Applicable
2.5.8 Target Size AAPartially CompliantThe pagination elements do not have sufficient sizing of touch targets. The issue has been reported.
3.1.1 Language of PageACompliantLanguage is set.
3.1.2 Language of PartsAACompliant
3.2.2 On FocusACompliant
3.2.3 On InputACompliant
3.2.4 Consistent Navigation AACompliant
3.2.5 Consistent IdentificationAACompliant
3.2.6 Consistent HelpAACompliant
3.3.1 Error IdentificationANot ApplicableNo user input on the Dashboard page.
3.3.2 Labels & InstructionsANot ApplicableNo user input on the Dashboard page.
3.3.3 Error SuggestionAANot ApplicableNo user input on the Dashboard page.
3.3.4 Error PreventionAANot ApplicableNo user input on the Dashboard page.
3.3.7 Redundant EntryANot ApplicableNo user input on the Dashboard page.
3.3.8 Accessible AuthenticationAANot Applicable
4.1.2 Name, Role, ValueACompliant
4.1.3 Status MessagesAANot Applicable

Content Overview Page

Tested April 2025

Success Criterion Compliance LevelConformance LevelNotes
1.1.1 Non Text Content ANot CompliantStatus (Draft, Published, etc.) icons are marked as ‘representational’ and currently, there is no alternative text for them.
1.2.1 Audio-only and Video-only (Prerecorded)ANot Applicable
1.2.2 Captions (Prerecorded)ANot Applicable
1.2.3 Audio Description (Prerecorded)ANot Applicable
1.2.4 Captions (Live)AANot Applicable
1.2.5 Audio Description (Live) AANot Applicable
1.3.1 Info & RelationshipACompliant
1.3.2 Meaningful SequenceAPartially CompliantCurrently, the Avatar is reachable with the keyboard despite the fact that it is not interactive, while the favorite toggle is not part of the tab order.
1.3.3 Sensory Characteristics ACompliant
1.3.4 Orientation AACompliant
1.3.5 Identify Input PurposeAAPartially CompliantPagination + dropdown for number of items displayed per page don’t have clear instructions.
1.4.1 Use of ColorACompliant
1.4.2 Audio ControlANot Applicable
1.4.3 Contrast MinimumAAPartially CompliantUse of Color on the Tags below required minimum color contrast
1.4.4 Resize TextAACompliant
1.4.5 Images of TextAACompliant
1.4.10 ReflowAACompliant
1.4.11 Non-text ContrastAAPartially CompliantWhat about the status indicator for ‘draft’? This does not meet the color contrast minimum.
1.4.12 Text Spacing AACompliant
1.4.13 Content on Hover or FocusAAPartially Compliant
2.1.1 KeyboardAPartially CompliantIt’s not possible to get into the filter mini browser or into the sorting function. Can’t toggle the favorites functionality Pagination Select not accessible with the keyboard “Current” in releases tab is skipped
2.1.2 No Keyboard TrapACompliant
2.1.4 Character Key ShortcutsANot Applicable
2.2.1 Timing AdjustableANot Applicable
2.2.2 Pause, Stop, HideANot Applicable
2.3.1 Three Flashes or Below ThresholdANot Applicable
2.4.1 Bypass BlocksANot CompliantWithin the app we currently don’t have a way to skip the navigation sidebar.
2.4.2 Page TitledACompliant
2.4.3 Focus OrderACompliant
2.4.4 Link Purpose in Content APartially CompliantReturn to Spaces Overview Link does not have link purpose in content.
2.4.5 Multiple WaysAANot Compliant
2.4.6 Headings & LabelsAAPartially CompliantThe pagination drop downs at the bottom don’t necessarily describe the purpose of the topic.
2.4.7 Visible Focus AAPartially Compliant‘Releases’ dropdown doesn’t have visible focus, the Avatar & favorites icon only shows the tool tip.
2.4.11 Focus not Obscured AACompliant
2.5.1 Pointer GesturesANot Applicable
2.5.2 Pointer Cancellation ACompliant
2.5.3 Name in Label ACompliant
2.5.4 Motion Actuation ACompliant
2.5.7 Dragging MovementsAA Compliant
2.5.8 Target Size AACompliant
3.1.1 Language of PageACompliant
3.1.2 Language of PartsAACompliant
3.2.2 On FocusACompliant
3.2.3 On InputACompliant
3.2.4 Consistent Navigation AACompliant
3.2.5 Consistent IdentificationAACompliant
3.2.6 Consistent HelpAACompliant
3.3.1 Error IdentificationACompliant
3.3.2 Labels & InstructionsACompliant
3.3.3 Error SuggestionAACompliant
3.3.4 Error PreventionAANot Applicable
3.3.7 Redundant EntryANot Applicable
3.3.8 Accessible AuthenticationAANot Applicable
4.1.2 Name, Role, ValueAPartially CompliantPlus button doesn’t have discernible text
4.1.3 Status MessagesAANot CompliantStatus Message, e.g. when content is deleted or newly created can not be programmatically determined.