LiquidFiles Documentation
LiquidFiles Documentation

LiquidFiles Accessibility

This VPAT outlines how the LiquidFiles web interface adheres to the W3C Web Content Accessibility Guidelines outlined in WCAG 2.1.

LiquidFiles aims to reach WCAG 2.1 Conformance Levels A and AA. AAA Levels are not covered in this report.

Accessibility Audits and Validation

Before LiquidFiles v4.2, we relied on external audits only when assessing LiquidFiles for compliance against WCAG. Starting with LiquidFiles v4.3, in addition to responding to and performing manual accessibility audits, we have added an AI assistant agent that will scan any updates for compliance against WCAG and raise potential issues during development so future development will stay WCAG compliant. One of the benefits of using an agent like this is that we can scan code that's not always visible, and this approach identified issues that previous manual assessments did not cover. Key areas of improvement include semantic HTML structure, keyboard navigation, screen reader support, ARIA labelling, form accessibility, and focus management.

LiquidFiles is committed to ongoing accessibility improvements and welcomes feedback from users who encounter barriers.

Scope

This assessment covers the LiquidFiles application code. LiquidFiles uses the Bootstrap front-end framework and follows the Bootstrap accessibility guidelines when implementing UI components. Any accessibility issues that originate within the Bootstrap framework itself are outside the scope of this assessment and are not addressed by LiquidFiles directly.

Conformance Level Terms

The terms used in the Conformance Level information are defined as follows:

  • Supports: The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.
  • Partially Supports: Some functionality of the product does not meet the criterion.
  • Does Not Support: The majority of product functionality does not meet the criterion.
  • Not Applicable: The criterion is not relevant to the product.
  • Not Evaluated: The product has not been evaluated against the criterion.
Criteria Level Conformance Level Remarks and Explanations
1. Perceivable
1.1 Text Alternatives
1.1.1 Non-text Content A Supports All images include descriptive alt attributes, including file icons, performance graphs, branding previews, and Outlook placeholders. Icon-only buttons and links have aria-label attributes. Decorative icons use aria-hidden to be ignored by screen readers.
1.2 Time-based Media
1.2.1 Audio-only and Video-only (Prerecorded) A Not Applicable LiquidFiles does not contain prerecorded audio-only or video-only media.
1.2.2 Captions (Prerecorded) A Not Applicable LiquidFiles does not contain prerecorded synchronized media.
1.2.3 Audio Description or Media Alternative (Prerecorded) A Not Applicable LiquidFiles does not contain prerecorded video content.
1.2.4 Captions (Live) AA Not Applicable LiquidFiles does not contain live synchronized media.
1.2.5 Audio Description (Prerecorded) AA Not Applicable LiquidFiles does not contain prerecorded or synchronized media.
1.3 Adaptable
1.3.1 Info and Relationships A Supports Content structure is conveyed through semantic HTML elements. All table headers use scope attributes (col or row) for proper cell-to-header association. Form inputs have associated labels or aria-label attributes, including search and filter fields. Key-value display tables use th elements for label cells. Headings follow a logical hierarchy throughout the application.
1.3.2 Meaningful Sequence A Supports The DOM order matches the visual presentation order. Content is presented in a meaningful reading sequence.
1.3.3 Sensory Characteristics A Supports Instructions and cues do not rely solely on sensory characteristics such as shape, colour, size, or location.
1.3.4 Orientation AA Supports Content is not restricted to a single display orientation.
1.3.5 Identify Input Purpose AA Supports Form fields that collect personal information use appropriate autocomplete attributes. Phone number fields use autocomplete="tel" and authentication fields are correctly identified.
1.4 Distinguishable
1.4.1 Use of Color A Supports Colour is not used as the sole means of conveying information. Status indicators and error states use text labels and icons in addition to colour.
1.4.2 Audio Control A Not Applicable LiquidFiles does not contain any audio.
1.4.3 Contrast (Minimum) AA Supports Text and interactive elements meet the minimum contrast ratio of 4.5:1 for normal text and 3:1 for large text.
1.4.4 Resize text AA Supports Text can be resized up to 200% without loss of content or functionality.
1.4.5 Images of Text AA Not Applicable LiquidFiles does not use images of text. All text content is rendered as actual text.
1.4.10 Reflow AA Supports Content reflows at 320px width without horizontal scrolling. Data tables use responsive wrappers to remain accessible at narrow viewports.
1.4.11 Non-text Contrast AA Supports User interface components and graphical objects meet a contrast ratio of at least 3:1 against adjacent colours.
1.4.12 Text Spacing AA Supports No loss of content or functionality occurs when text spacing is adjusted per the criterion requirements.
1.4.13 Content on Hover or Focus AA Supports Tooltips and popovers are triggered on both hover and focus, making them accessible via keyboard. Hover-triggered content is dismissable, hoverable, and persistent.
2. Operable
2.1 Keyboard Accessible
2.1.1 Keyboard A Supports All functionality is operable through a keyboard interface. Interactive elements such as buttons, links, form controls, and modal dialogs are keyboard accessible. Calendar date pickers and password visibility toggles use proper button elements.
2.1.2 No Keyboard Trap A Supports Keyboard focus can be moved away from any component using standard keyboard navigation. Modal dialogs can be closed with the Escape key.
2.1.4 Character Key Shortcuts A Not Applicable LiquidFiles does not implement single character key shortcuts.
2.2 Enough Time
2.2.1 Timing Adjustable A Not Applicable LiquidFiles does not impose time limits on user interactions.
2.2.2 Pause, Stop, Hide A Not Applicable LiquidFiles does not use moving, blinking, scrolling, or auto-updating content.
2.3 Seizures and Physical Reactions
2.3.1 Three Flashes or Below Threshold A Not Applicable LiquidFiles does not contain any flashing content.
2.4 Navigable
2.4.1 Bypass Blocks A Supports Skip navigation links are provided on all pages, allowing users to bypass repeated navigation blocks and jump directly to the main content area.
2.4.2 Page Titled A Supports All pages have descriptive titles that identify their purpose.
2.4.3 Focus Order A Supports Focus order follows a logical sequence that preserves meaning and operability. Honeypot fields are removed from the tab order. Focus is managed appropriately when dynamic content such as AJAX errors is displayed.
2.4.4 Link Purpose (In Context) A Supports Link purpose can be determined from the link text alone or from the link text together with its context. Icon-only links include aria-label attributes.
2.4.5 Multiple Ways AA Supports Multiple navigation methods are available including menu navigation, breadcrumbs, and search functionality.
2.4.6 Headings and Labels AA Supports Headings and labels describe the topic or purpose of the content. Heading hierarchy is logical with a single h1 per page and properly nested subheadings.
2.4.7 Focus Visible AA Supports All interactive elements have a visible focus indicator when navigated via keyboard.
2.5 Input Modalities
2.5.1 Pointer Gestures A Not Applicable LiquidFiles does not use multipoint or path-based gestures.
2.5.2 Pointer Cancellation A Supports Actions are triggered on the up-event. No functionality uses down-event activation that cannot be aborted or undone.
2.5.3 Label in Name A Supports The accessible name of user interface components contains the text presented visually.
2.5.4 Motion Actuation A Not Applicable LiquidFiles does not use device motion or user motion for any functionality.
3. Understandable
3.1 Readable
3.1.1 Language of Page A Supports The lang attribute is set dynamically on the html element based on the configured locale, across all layouts including the admin interface.
3.1.2 Language of Parts AA Supports LiquidFiles supports 24 locales. The page language is set based on the active locale.
3.2 Predictable
3.2.1 On Focus A Supports Receiving focus does not initiate a change of context. Login forms use floating labels that animate without disrupting focus.
3.2.2 On Input A Supports Changing the setting of a user interface component does not automatically cause a change of context. Form submissions require explicit user action.
3.2.3 Consistent Navigation AA Supports Navigation mechanisms are consistent across pages. The main menu, skip links, and page structure follow the same pattern throughout the application.
3.2.4 Consistent Identification AA Supports Components with the same functionality are identified consistently across the interface.
3.3 Input Assistance
3.3.1 Error Identification A Supports Errors are identified in text and presented to the user. Validation error containers use role="alert" to announce errors to screen readers automatically.
3.3.2 Labels or Instructions A Supports Form fields have associated labels or aria-label attributes. Required fields are marked with visible indicators. Format hints are provided where needed using aria-describedby, such as email format guidance on filedrop forms.
3.3.3 Error Suggestion AA Supports When input errors are detected, suggestions for correction are provided in text where the expected format is known.
3.3.4 Error Prevention (Legal, Financial, Data) AA Supports Destructive actions such as permanent deletion require explicit confirmation before being carried out.
4. Robust
4.1 Compatible
4.1.1 Parsing A Supports Pages use well-formed HTML with unique IDs and proper nesting. Semantic elements (main, nav, footer) are used in place of generic div elements where appropriate.
4.1.2 Name, Role, Value A Supports User interface components have accessible names and roles. Modals include aria-labelledby attributes. Iframes have descriptive title attributes. Interactive elements use proper semantic roles — for example, password visibility toggles and calendar icons use button elements rather than links. Modal close buttons are not hidden from assistive technology.
4.1.3 Status Messages AA Supports Status messages use appropriate ARIA roles to be announced by screen readers without receiving focus. Error containers use role="alert", success messages use role="status", and dynamically populated result areas use aria-live="polite". Upload progress is communicated via ARIA live regions.