GitLab Accessibility Conformance Report WCAG Edition
Based on Version 2.4Rev, March 2022 (template)
- Name of Product/Version: GitLab 15.0
- Report Date: Revised September, 2022
- Product Description: From project planning and source code management to CI/CD and monitoring, GitLab is a single application for the entire DevOps lifecycle.
- Contact information: ux@gitlab.com
- Notes:
- This evaluation only refers to GitLab the product and does not include the about.gitlab.com or docs.gitlab.com websites.
- The latest revision evaluates GitLab 15.0 and supersedes earlier versions of this report.
- Table 3: Success Criteria, Level AAA has been removed because the GitLab product has not been evaluated for WCAG 2.0 Level AAA conformance.
- GitLab supports the current and previous major version along with current minor version of the following browsers: Mozilla Firefox, Google Chrome, Chromium, Apple Safari, Microsoft Edge.
- GitLab does not support running with JavaScript disabled in the browser because several features require JavaScript extensively.
- View GitLab installation minimum requirements for both the supported operating systems and the minimum requirements needed to install and use GitLab.
- Known accessibility issues are linked in the tables below and may also be found by searching GitLab.com (account required).
- Evaluation Methods Used: Conformance to the listed accessibility standards has been evaluated by GitLab using a combination of analysis tools and manual testing with assistive technologies. These tools include, but are not limited to: axe DevTools®, Lighthouse, NVDA, and VoiceOver on macOS.
Applicable Standards/Guidelines
This report covers the degree of conformance for the following accessibility standard/guidelines:
Standard/Guideline | Included In Report |
---|---|
Web Content Accessibility Guidelines 2.0 or WCAG 2.0 (ISO/IEC 40500) |
|
Web Content Accessibility Guidelines 2.1 or WCAG 2.1 |
|
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. This can only be used in WCAG 2.x Level AAA.
WCAG 2.x ReportNOTE: When reporting on conformance with the WCAG 2.x Success Criteria, they are scoped for full pages, complete processes, and accessibility-supported ways of using technology as documented in the WCAG 2.0 Conformance Requirements .
Table 1: Success Criteria, Level A
Criteria | Conformance Level | Remarks and Explanations |
---|---|---|
1.1.1 Non-text Content (Level A) | Partially supports |
The product has many instances where non-text content does not have a text alternative: https://gitlab.com/groups/gitlab-org/-/epics/567, https://gitlab.com/groups/gitlab-org/-/epics/564 |
1.2.1 Audio-only and Video-only (Prerecorded) (Level A) | Supports |
The product does not include any audio-only or video-only media. However, users have the ability to upload their own media. In these cases, users have the ability to include alternative representations, such as text transcripts. |
1.2.2 Captions (Prerecorded) (Level A) | Partially supports |
The product does not include any audio-only or video-only media. However, users have the ability to upload their own media. Captions are supported for videos provided by third-party tools that offer this capability. The product does not provide capabilities for captioning user generated audio or video content. https://gitlab.com/gitlab-org/gitlab/issues/25796 |
1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A) | Not applicable |
The product does not use synchronized media. |
1.3.1 Info and Relationships (Level A) | Partially supports |
The product has many instances where information, structure, and relationships can not be programmatically determined: https://gitlab.com/groups/gitlab-org/-/epics/567 |
1.3.2 Meaningful Sequence (Level A) | Supports |
The product content is presented in a way that can be sequentially or programmatically determined. |
1.3.3 Sensory Characteristics (Level A) | Supports |
The product does not depend solely on sensory characteristics such as shape, size, visual location, orientation, or sound to understand content. |
1.4.1 Use of Color (Level A) | Partially supports |
The product does not use colors as the only visual means of conveying information. The exception is for text links which do still rely on color: https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1084 |
1.4.2 Audio Control (Level A) | Not applicable |
The product does not include auto-playing audio or provide the ability for user generated audio to automatically play. |
2.1.1 Keyboard (Level A) | Partially supports |
The product has many instances of content that is not operable through a keyboard: https://gitlab.com/groups/gitlab-org/-/epics/565 |
2.1.2 No Keyboard Trap (Level A) | Partially supports |
The product ensures that users can move their focus away from a focused component using only the keyboard. A few instances were discovered where the user could not navigate away from focused file editors: https://gitlab.com/groups/gitlab-org/-/epics/627 |
2.1.4 Character Key Shortcuts (Level A 2.1 only) | Supports | The product contains a mechanism to turn all shortcuts off. |
2.2.1 Timing Adjustable (Level A) | Supports |
The product allows administrators to adjust any timeout functionality. |
2.2.2 Pause, Stop, Hide (Level A) | Supports |
The product does not include any moving, blinking, or scrolling content that lasts for more than 5 seconds. Information that is auto-updated is essential for showing correct status. |
2.3.1 Three Flashes or Below Threshold (Level A) | Supports |
The product does not use flashing interface elements that flash more than three times within a 1 second period. Users have the ability to upload content that may contain flickering. |
2.4.1 Bypass Blocks (Level A) | Supports |
The product provides an option to bypass the repeated navigation on each page by hitting tab on page load. |
2.4.2 Page Titled (Level A) | Supports |
Each page of the product includes titles that describe the topic or purpose. |
2.4.3 Focus Order (Level A) | Partially supports |
The product uses a logical tab order and consistent keyboard keys to perform actions. Some components use inconsistent or non-normative keyboard controls. |
2.4.4 Link Purpose (In Context) (Level A) | Partially supports |
The product includes the purpose of each link. A few instances were discovered where the link purpose was not clear: https://gitlab.com/groups/gitlab-org/-/epics/620 |
2.5.1 Pointer Gestures (Level A 2.1 only) | Not applicable | This criterion is not relevant because the product does not use pointer gestures. |
2.5.2 Pointer Cancellation (Level A 2.1 only) | Partially supports |
The product has some instances where down-events are initialized without a method to easily undo or abort: https://gitlab.com/groups/gitlab-org/-/epics/8761 |
2.5.3 Label in Name (Level A 2.1 only) | Supports | The product has controls where the accessible name matches visible label. |
2.5.4 Motion Actuation (Level A 2.1 only) | Not applicable | This criterion is not relevant because the product does not use motion actuation. |
3.1.1 Language of Page (Level A) | Supports |
The product uses the language attribute on the HTML element to specify the default language of a page. |
3.2.1 On Focus (Level A) | Supports |
The product does not initiate a change of context when a component receives focus. |
3.2.2 On Input (Level A) | Supports |
The product does not initiate a change of context when a value setting is changed unless specified by the actionable area. |
3.3.1 Error Identification (Level A) | Partially supports |
The product describes input errors to the user and identifies which item the error originated from. However, the identification and description of an error is not combined programmatically to help assistive technologies to identify an error and provide error information to the user: https://gitlab.com/groups/gitlab-org/-/epics/7341 |
3.3.2 Labels or Instructions (Level A) | Partially supports |
The product ensures that labels or instructions are provided for inputs. A few instances were discovered where a label was not present: https://gitlab.com/groups/gitlab-org/-/epics/621 |
4.1.1 Parsing (Level A) | Partially supports |
The product has instances of non-unique ID values. Some of which are related to |
4.1.2 Name, Role, Value (Level A) | Partially supports |
The product has many instances where the name, role, or value cannot be programmatically determined or set. https://gitlab.com/groups/gitlab-org/-/epics/567 |
Table 2: Success Criteria, Level AA
Criteria | Conformance Level | Remarks and Explanations |
---|---|---|
1.2.4 Captions (Live) (Level AA) | Not applicable |
This criterion is not relevant because the product does not use synchronized media. |
1.2.5 Audio Description (Prerecorded) (Level AA) | Not applicable |
This criterion is not relevant because the product does not use synchronized media. |
1.3.4 Orientation (Level AA 2.1 only) | Supports | The product is reponsive to variable viewport sizes and orientations. |
1.3.5 Identify Input Purpose (Level AA 2.1 only) | Partially supports |
The product uses input types and has some instances of autocomplete attributes on input fields. However, not all input fields implement identifying expected form input data: https://gitlab.com/groups/gitlab-org/-/epics/8762 |
1.4.3 Contrast (Minimum) (Level AA) | Partially supports |
The product has some instances where the contrast ratio of text (enabled) is not at least 4.5:1. https://gitlab.com/groups/gitlab-org/-/epics/562 |
1.4.4 Resize text (Level AA) | Partially supports |
The product supports the use of standard zoom capabilities built into modern web browsers. However, there are a few instances where text is clipped or inaccessible when zoomed: https://gitlab.com/groups/gitlab-org/-/epics/563 |
1.4.5 Images of Text (Level AA) | Supports |
The product does not use images of text. |
1.4.10 Reflow (Level AA 2.1 only) | Supports | The product is reponsive to variable viewport sizes. |
1.4.11 Non-text Contrast (Level AA 2.1 only) | Partially supports |
The product has some instances where non-text contrast ratio is not at least 3:1: https://gitlab.com/groups/gitlab-org/-/epics/8763 |
1.4.12 Text Spacing (Level AA 2.1 only) | Supports | The product adapts to increases in text spacing. |
1.4.13 Content on Hover or Focus (Level AA 2.1 only) | Supports | The product supports control for content on hover or focus. |
2.4.5 Multiple Ways (Level AA) | Supports |
The product provides multiple ways to locate and navigate to a page. |
2.4.6 Headings and Labels (Level AA) | Partially supports |
The product uses descriptive headings and labels to describe the purpose or topic on a page. A few instances are known where headings could be utilized to better describe the sections of the page: https://gitlab.com/groups/gitlab-org/-/epics/566 |
2.4.7 Focus Visible (Level AA) | Partially supports |
The product uses visual changes to elements to indicate the current focus position. There are instances where a state change happens but does not include a visible focus indicator. There are other instances where the default browser focus ring is present and may lack sufficient contrast. |
3.1.2 Language of Parts (Level AA) | Does not support |
The product uses the language attribute on the HTML element to specify the default language of a page. However, there is no mechanism to specify different languages for subsets of a page. For example, if a user were to enter a comment in a different language. |
3.2.3 Consistent Navigation (Level AA) | Supports |
The product consistently repeats navigation controls across pages. |
3.2.4 Consistent Identification (Level AA) | Supports |
The product uses components that have consistent functionality across pages. |
3.3.3 Error Suggestion (Level AA) | Partially supports |
The product provides suggestion for how to mitigate input errors. However, the identification and description of an error is not combined programmatically to help assistive technologies to identify an error and provide remedy suggestions to the user: https://gitlab.com/groups/gitlab-org/-/epics/7341 |
3.3.4 Error Prevention (Legal, Financial, Data) (Level AA) | Supports |
The product ensure that when legal commitments or financial transactions occur users have the ability to correct validated input errors, review and confirm submission prior to submitting data, or reverse the submission. |
4.1.3 Status Messages (Level AA 2.1 only) | Partially supports |
The product uses roles to provide status messages to assistive technologies without receiving focus. However, not all visual responses to user actions use a status message perceptive to assitive technologies: https://gitlab.com/groups/gitlab-org/-/epics/8764 |
Table 3: Success Criteria, Level AAANOTE: The GitLab product has not been evaluated for WCAG 2.0 Level AAA conformance.
GitLab Legal Disclaimer
This document is provided for information purposes only and the contents hereof are subject to change without notice. GitLab does not warrant that this document is error-free, nor does it provide any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. GitLab specifically disclaims any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. GitLab further makes no representation concerning the ability of assistive technologies or other products to interoperate with GitLab products. This document addresses the named product(s) only and not prerequisite products for which GitLab supplies restricted use licenses.
Last updated at: