Moodle accessibility conformance report
WCAG Edition
(Based on VPAT® Version 2.5)
| Name of product/version | Moodle app |
| Report date | September 2025 |
| Product description | Moodle app is the official mobile app for Moodle LMS. |
| Contact information | https://moodle.com/contact/ |
Revision history
| Revision | Date | Remarks |
|---|---|---|
| Version 1 | 2025-09-22 | Initial revision |
Notes
- This accessibility conformance report is based on an audit of Moodle app by GrackleDocs (formerly AbleDocs), Moodle HQ’s external digital accessibility consultant, as well as internal testing and community audits.
- GrackleDocs issued a Statement of Accessibility Conformance for WCAG 2.2 Level AA in April 2025.
- GrackleDocs performed the accessibility audit on Moodle app 5.0.
Evaluation methods used
This conformance report is based on an accessibility audit conducted by GrackleDocs on the Moodle mobile app. The evaluation was completed following the WCAG Evaluation Methodology (WCAG-EM).
The audit testing was conducted manually and cross-checked using GrackleDocs’ team of accessibility auditors to ensure that the results and comments presented were valid and comprehensive.
The following tools and applications were used as part of the audit:
- Screen reader
- Voice Over (iOS)
- TallBack, Voice Assistant (Android)
-
- Other tools
- External physical keyboards
Applicable standards and guidelines
This report covers the degree of conformance for the following accessibility standards/guidelines:
| Standard/Guideline | Included In Report |
|---|---|
| Web Content Accessibility Guidelines 2.0 | Level A (Yes) Level AA (Yes) Level AAA (Yes) |
| Web Content Accessibility Guidelines 2.1 | Level A (Yes) Level AA (Yes) Level AAA (Yes) |
| Web Content Accessibility Guidelines 2.2 | Level A (Yes) Level AA (Yes) Level AAA (Yes) |
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 of the functionality of the product does not meet the criterion.
- Does Not Support: The majority of product functionality does not meet the criterion.
WCAG 2.x report
Table 1: Success criteria, Perceivable
Notes:
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.1.1 Non-text Content Level A |
Supports | Moodle app ensures that all non-text content includes an accessible name. |
| 1.2.1 Audio-only and Video-only (Prerecorded) Level A |
Supports | Moodle app does not contain pre-recorded audio or video but Moodle LMS allows content creators to upload video/audio content. Moodle LMS offers options for content creators to provide alternative formats for their uploaded video/audio content. |
| 1.2.2 Captions (Prerecorded) Level A |
Supports | Moodle app does not contain any pre-recorded audio or video, but Moodle LMS provides options for content creators to attach captions to user-created video and audio content. |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) Level A |
Supports | Moodle app does not contain any pre-recorded audio or video, but Moodle LMS provides options for content creators to add Audio descriptions to audio/video and to provide alternative formats. |
| 1.2.4 Captions (Live) Level AA |
Supports | Moodle app does not contain live streaming capabilities; this functionality is only provided by third-party tools and externally to the app (browser). |
| 1.2.5 Audio Description (Prerecorded) Level AA |
Supports | Moodle app does not contain any pre-recorded audio or video, but Moodle LMS provides options for content creators to add Audio descriptions to audio/video content. |
| 1.2.6 Sign Language (Prerecorded) Level AAA |
Supports | Moodle app does not contain audio or video content, but content creators can upload prerecorded video content with sign language interpretation via Moodle LMS. |
| 1.2.7 Extended Audio Description (Prerecorded) Level AAA |
Supports | Moodle app does not contain audio and video content; content creators can upload prerecorded multimedia content with extended audio descriptions via Moodle LMS. |
| 1.2.8 Media Alternative (Prerecorded) Level AAA |
Supports | Moodle app does not contain audio and video content; content creators can provide media alternatives for prerecorded multimedia content via Moodle LMS. |
| 1.2.9 Audio-only (Live) Level AAA |
Supports | Moodle app does not support live audio-only streams. Where available, this is provided by third-party software and usually externally to the app (browser). |
| 1.3.1 Info and Relationships Level A |
Supports | Moodle app pages are structured such that assistive technologies can programmatically determine the intended read order and page structure. |
| 1.3.2 Meaningful Sequence Level A |
Supports | Moodle app pages are structured so that assistive technologies can programmatically determine the intended reading order in cases where the order is essential. |
| 1.3.3 Sensory Characteristics Level A |
Supports | Moodle app does not solely rely on sensory characteristics to convey information. Where these are used, they are backed up by appropriate text and other information for the user. |
| 1.3.4 Orientation Level AA |
Supports | Moodle app’s user interface (UI) is responsive and does not lock the orientation of the display or restrict the product’s use in one layout or the other. |
| 1.3.5 Identify Input Purpose Level AA |
Supports | Input fields across the system are clearly identified by their purpose and are available to assistive technologies. |
| 1.3.6 Identify Purpose Level AAA |
Supports | ARIA landmarks and roles are extensively used across Moodle app to help assistive technologies identify the purpose of UI elements. |
| 1.4.1 Use of Color Level A |
Supports | Colour is not used as the sole indicator of information in Moodle app. In some cases, colour is used to complement other UI elements, such as text or distinct icons. |
| 1.4.2 Audio Control Level A |
Supports | Moodle app does not contain any pre-recorded audio. User-uploaded audio and video content do not auto-play by default. Audio volume controls are always provided for the user via the device buttons. |
| 1.4.3 Contrast (Minimum) Level AA |
Supports | All elements of the Moodle app UI meet the minimum contrast and size requirements for WCAG Level AA. |
| 1.4.4 Resize text Level AA |
Supports | The Moodle app UI has been designed to be responsive on various screen sizes and, as such, supports zooming of text sizes without breaking controls or content. In some cases, UI elements will be shifted or replaced with more appropriate elements to accommodate this. |
| 1.4.5 Images of Text Level AA |
Supports | Images of text are not used in any part of the system to convey essential information unless it is required as part of the functionality. |
| 1.4.6 Contrast (Enhanced) Level AAA |
Partially supports | Text colours in Moodle app in most places have a contrast ratio greater than 7:1 against their default background. Some small amounts of texts with colours that meet the minimum contrast ratio of 4.5:1 for WCAG 2.2 Level AA but do not meet the enhanced colour contrast requirement of 7:1 for WCAG 2.2 Level AAA. |
| 1.4.7 Low or No Background Audio Level AAA |
Supports | Moodle app does not contain any pre-recorded background audio. |
| 1.4.8 Visual Presentation Level AAA |
Supports | Moodle app is designed so that the content presentation can be modified to suit the required visual presentation using browser functionality. |
| 1.4.9 Images of Text (No Exception) Level AAA |
Supports | Images of text are not used in any part of the system to convey essential information except in a small number of cases where it is required as part of the functionality. |
| 1.4.10 Images of Text (No Exception) Level AA |
Supports | The reflow of content is supported across Moodle app. Except for wide tabular content (such as large reports), content is presented in a responsive manner. This helps users avoid the need to scroll horizontally when viewing the page’s contents, especially on smaller screens or when the page is zoomed. |
| 1.4.11 Non-text Contrast Level AA |
Supports | All non-text elements within Moodle app exceed the required 3:1 contrast ratio. |
| 1.4.12 Text Spacing Level AA |
Supports | All default fonts and layouts within Moodle app adhere to WCAG text spacing requirements |
| 1.4.13 Content on Hover or Focus Level AA |
Supports | There are no elements displaying additional content on hover or focus. |
Table 2: Success criteria, Operable
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 2.1.1 Keyboard Level A |
Supports | The Moodle app interface is fully keyboard accessible, with no timing requirement for the user. |
| 2.1.2 No Keyboard Trap Level A |
Supports | Moodle app has been designed in such a way that there are no keyboard traps, and it is fully navigable. |
| 2.1.3 Keyboard (No Exception) Level AAA |
Supports | In all cases, a keyboard-only option has been provided for all functionality across the system. |
| 2.1.4 Character Key Shortcuts Level A |
Supports | Only Moodle app’s rich text editor supports keyboard shortcuts. These shortcuts are only active when the user is in the editing area and are designed to not interfere with accessibility software. There are no other keyboard shortcuts within the system. |
| 2.2.1 Timing Adjustable Level A |
Supports | Moodle app generally does not impose any time limits on content or actions, with amsmall number of all number of exceptions, such as timed quizzes/assignments. User sessions can be extended indefinitely by users. Quiz/Assignment time limits are essential and cannot be extended by the user. However, accomodations can be made by instructors for individual students. |
| 2.2.2 Pause, Stop, Hide Level A |
Supports | Moodle app does not contain moving, blinking, and scrolling content. |
| 2.2.3 No Timing Level AAA |
Supports | For activities that may have time limits, such as quizzes, this can be disabled for users who require accommodations. |
| 2.2.4 Interruptions Level AAA |
Partially supports | In most cases, the user’s progress is saved, such as in assignments and quizzes. However, some pages do not support this, and data will need to be re-entered. |
| 2.2.6 Timeouts Level AAA |
Partially supports | Timeouts are only for session timeouts, which are configurable for the system. Users are warned to refresh their session before they get logged out. In most cases, draft data already entered is saved and restored when the user resumes activity. |
| 2.3.1 Three Flashes or Below Threshold Level A |
Supports | Moodle app does not contain flashing content. |
| 2.3.2 Three Flashes Level AAA |
Supports | Moodle app does not contain flashing content. |
| 2.3.3 Animation from Interactions Level AAA |
Does Not Support | Some animations (collapsing header) cannot be disabled. |
| 2.4.1 Bypass Blocks Level A |
Supports | Skip links are provided to help users efficiently navigate Moodle app |
| 2.4.2 Page Titled Level A |
Supports | All pages within Moodle app provide detailed page titles to aid navigation and help orientate users within the system. |
| 2.4.3 Focus Order Level A |
Supports | Moodle app pages have been carefully designed to support a focus order that is logical and aids in understanding the structure of each page. |
| 2.4.4 Link Purpose (In Context) Level A |
Supports | The link text of all links within Moodle app indicates their purpose. Where practical, additional hints have been added to aid accessibility software to determine this programmatically. |
| 2.4.5 Multiple Ways Level AA |
Supports | Moodle app provides multiple ways to navigate and understand the content structures within Moodle app, including search and page indexes where applicable |
| 2.4.6 Headings and Labels Level AA |
Supports | All pages make appropriate use of headings and labels to support user understanding of the page and its purpose |
| 2.4.7 Focus Visible Level AA |
Supports | The keyboard focus is visible on all pages, allowing users to help users easily determine their location as they navigate through the page contents. |
| 2.4.8 Location Level AAA |
Does Not Support | The mobile app does not provide breadcrumbs or site maps. |
| 2.4.9 Link Purpose (Link Only) Level AAA |
Partially supports | Most links are uniquely identifiable by the link text only. However, some areas do not provide identifiable link texts. |
| 2.4.10 Section Headings Level AAA |
Does Not Support | Not all pages have section headers, such as fullscreen pages. |
| 2.4.11 Focus Not Obscured (Minimum) Level AA |
Supports | User-opened contents do not obscure user interface components receiving keyboard focus. |
| 2.4.12 Focus Not Obscured (Enhanced) Level AAA |
Partially supports | In some situations, the keyboard focus can be partially obscured. |
| 2.4.13 Focus Appearance Level AAA |
Supports | In most places, a blue highlight around a focusable user interface component denotes the keyboard, which meets the success criteria. In some cases, older styling is still in place, where the focus indicator comprises a background colour change and underlining of the link. |
| 2.5.1 Pointer Gestures Level A |
Supports | Moodle app does not use any multi-point or path-based gestures within the UI |
| 2.5.2 Pointer Cancellation Level A |
Supports | Pointer cancellation is supported in Android and iOS. |
| 2.5.3 Label in Name Level A |
Supports | Throughout Moodle app, the accessible name matches the visible name of buttons and links |
| 2.5.4 Motion Actuation Level A |
Supports | Moodle app does not have functionality that requires motion as a means of input |
| 2.5.5 Target Size Level AAA |
Partially supports | Most controls and clickable targets are larger than 44×44 CSS pixels. However, there are exceptions. |
| 2.5.6 Concurrent Input Mechanisms Level AAA |
Supports | Moodle app does not restrict the use of multiple input modalities simultaneously. |
| 2.5.7 Dragging Movement Level AA |
Supports | All interactions that require drag and drop have alternative ways to interact that do not require dragging movements |
| 2.5.8 Target Size (Minimum) Level AA |
Supports | All targets for pointer inputs meet the minimum required size or are accessible via an alternative means |
Table 3: Success criteria, Understandable
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 3.1.1 Language of Page Level A |
Supports | Moodle app supports multiple languages. This is communicated programmatically using the HTML lang attribute. |
| 3.1.2 Language of Parts Level AA |
Supports | Pages in Moodle app are rendered in the language based on the user’s preference. The language selector menu options have the lang attribute to convey the language for each menu option to assistive technologies. User-created content within Moodle app can be tagged with the appropriate language of the content, and this can be done in parts. |
| 3.1.3 Unusual Words Level AAA |
Supports | Moodle app provides contextual help that allows users to understand unfamiliar and unusual words. Moodle app also provides a built-in glossary functionality that allows automatic linking to definitions for user-created content. |
| 3.1.4 Abbreviations Level AAA |
Supports | Moodle app provides contextual help that allows users to understand unfamiliar abbreviations in the context of the system. Moodle app also provides a built-in glossary functionality that allows automatic linking to definitions for user-created content. |
| 3.1.5 Reading Level Level AAA |
Supports | Moodle app has been designed to be as intuitive as possible. It provides language packs targeted at younger users, but this mostly addresses the needs of the system’s learner users. Moodle app provides the facilities for user-created content to conform to this success criterion. |
| 3.1.6 Pronunciation Level AAA |
Partially supports | The core Moodle app system does not provide pronunciation support in most cases. However, Moodle app does provide the facilities for user-created content to comply with this success criterion, including markup, automatic glossary linking, and the ability for a user to add additional content. |
| 3.2.1 On Focus Level A |
Supports | Moodle app does not change the context or focus when a user navigates to a focusable item in the interface anywhere. Opening links in new browser windows is not used where an alternative is practical. |
| 3.2.2 On Input Level A |
Supports | Moodle app does not change the context of use without the user initiating an explicit action |
| 3.2.3 Consistent Navigation Level AA |
Supports | Moodle app uses a consistent navigation layout and methodology, with elements appearing in the same order between pages. |
| 3.2.4 Consistent Identification Level AA |
Supports | Moodle app is designed using a consistent set of components that use common terminology across the system. |
| 3.2.5 Change on Request Level AAA |
Supports | Moodle app does not change contexts for the user without explicit actions from the user. |
| 3.2.6 Consistent Help Level A |
Supports | Moodle app provides contextual help for each page using a consistent help menu. The structure and order of this menu are consistent throughout the system. |
| 3.3.1 Error Identification Level A |
Supports | Errors are described to users and marked up with appropriate ARIA roles and attributes. |
| 3.3.2 Labels or Instructions Level A |
Supports | The system provides extensive labels and instructions, including expected data formats, to help users input the appropriate values. |
| 3.3.3 Error Suggestion Level AA |
Supports | Data validation is extensive across the system, and error messages explain to the user how to fix the error with the data. |
| 3.3.4 Error Prevention (Legal, Financial, Data) Level AA |
Supports | Moodle app provides various mechanisms to prevent errors from happening. e.g. a review page before submitting a quiz, a confirmation dialogue before deleting elements. |
| 3.3.5 Help Level AAA |
Does Not Support | The app does not offer contextual help. |
| 3.3.6 Error Prevention (All) Level AAA |
Partially supports | Form validation mechanisms allow users to correct their input when completing a form. Confirmation dialogues or pages are also present to prevent users from accidentally performing an irreversible action (e.g. data deletion, etc). However, there are some known instances where an irreversible action does not have a prior confirmation prompt, such as granting additional assignment attempts for students. |
| 3.3.7 Redundant Entry Level A |
Supports | Unless essential, data is pre-filled for users, or a sensible default is provided. |
| 3.3.8 Accessible Authentication (Minimum) Level AA |
Supports | Moodle LMS provides third-party OAuth and other SSO authentication mechanisms to provide alternatives to the default username and password. Additionally, the default login form is correctly marked up for an accessible authentication experience. |
| 3.3.9 Accessible Authentication (Enhanced) Level AAA |
Supports | Moodle LMS provides third-party OAuth and other SSO authentication mechanisms as alternatives to the default username and password. Additionally, the default login form is correctly marked up for an accessible authentication experience. |
Table 4: Success criteria, Robust
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 4.1.1 Parsing Level A |
Supports |
|
| 4.1.2 Name, Role, Value Level A |
Supports | The name and role of all components within Moodle app can be programmatically determined using native semantic HTML tags and/or the appropriate ARIA roles and attributes. |
| 4.1.3 Status Messages Level AA |
Supports | All status messages and alerts are marked with the appropriate ARIA roles and attributes, allowing assistive technologies to determine them programmatically. |
Legal disclaimer
The information herein is provided in good faith based on Moodle LMS at the time of the accessibility audit and does not represent a legally binding claim. Please contact Moodle Pty Ltd to report any accessibility errors or conformance claim errors for re-evaluation and correction, if necessary.