GitLab Accessibility Conformance Report WCAG Edition

Based on Version 2.4Rev, March 2022 (template)

  • Name of Product/Version: GitLab Enterprise Edition Premium version 16.0
  • Report Date: Revised July, 2023
  • 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 Enterprise Edition Premium version 16.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)
  • Level A (Yes)
  • Level AA (Yes)
  • Level AAA (No)
Web Content Accessibility Guidelines 2.1 or WCAG 2.1
  • Level A (Yes)
  • Level AA (Yes)
  • Level AAA (No)

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 Report

NOTE: 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.

  • Known instances are tracked in the !567 and !564 epics and will continue to be addressed.
1.2.1 Audio-only and Video-only (Prerecorded) (Level A) Partially supports

The product does not include prerecorded audio-only or video-only media.

  • A user can upload their own media and include alternative content, such as a text transcript by using GitLab Flavored Markdown.
  • There is no mechanism to verify that the user is including alternative content, therefore, we classify this as partially supports.
1.2.2 Captions (Prerecorded) (Level A) Partially supports

The product does not include synchronized media.

  • User generated media that includes open captions can be linked to with GitLab Flavored Markdown.
  • There is no mechanism to add captions to user generated media content, or to verify that the user is including captions, therefore, we classify this as partially supports.
1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A) Partially supports

The product does not include prerecorded or synchronized media.

  • User generated media content can include alternative media in text form by adding it with GitLab Flavored Markdown.
  • There is no mechanism to verify that the user is including alternative content, therefore, we classify this as partially supports.
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.

  • Known instances are tracked in the !567 epic and will continue to be addressed.
  • Until all known instances have been addressed, we will classify this as partially supports.
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 primarily use colors as the only visual means of conveying information with the exception of some text links.

  • Known instances are tracked in the #1084 issue.
  • Until we ensure all text links are updated, we will classify this as partially supports.
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.

  • Know instances are tracked in the !565 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
2.1.2 No Keyboard Trap (Level A) Partially supports

In most instances a user can move focus away from a focused element using only the keyboard.

  • Known instances where a user cannot navigate away from focused file editors are tracked in the !627 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
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, with the exception of user generated media which 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 a title that describes the topic or purpose.

2.4.3 Focus Order (Level A) Partially supports

The product uses a logical tab order and in most instances consistent keyboard keys are used to perform actions.

  • Some components use inconsistent or non-normative keyboard controls, therefore, we classify this as partially supports.
2.4.4 Link Purpose (In Context) (Level A) Partially supports

The product includes the purpose of most links.

  • Known instances of unclear product links are tracked in the !620 epic.
  • A user can add a link with GitLab Flavored Markdown, however, there is no mechanism to verify that the user has made a link's purpose clear. Therefore, we classify this as partially supports.
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.

  • Known instances are tracked in the !8761 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
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

In most instances, the product describes input errors to the user and identifies which item the error originated from.

  • Known instances where the identification and description of an error is not always combined programmatically to help assistive technologies to identify an error are tracked in the !7341 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
3.3.2 Labels or Instructions (Level A) Partially supports

The product ensures that most labels or instructions are provided for inputs.

  • Known instances where a label is not present are tracked in the !621 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
4.1.1 Parsing (Level A) Partially supports

The product has instances of non-unique ID values.

  • Known instances are related to .js- prefixed IDs used specifically for JavaScript and are tracked in the #17928 issue.
  • Until all known instances have been addressed, we will classify this as partially supports.
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.

  • Know instances are tracked in the !567 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.

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 support live media.

1.2.5 Audio Description (Prerecorded) (Level AA) Partially supports

The product does not include synchronized media.

  • User generated videos may include audio descriptions and be linked with GitLab Flavored Markdown.
  • There is no mechanism to include audio descriptions, or to verify that the user is including audio descriptions, therefore, we classify this as partially supports.
1.3.4 Orientation (Level AA 2.1 only) Supports The product is responsive to variable viewport sizes and orientations.
1.3.5 Identify Input Purpose (Level AA 2.1 only) Partially supports

The product mostly uses input types and has some instances of autocomplete attributes on input fields.

  • Known instances where input fields do not implement identifying expected form input data are tracked in the !8762 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
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.

  • Known instances are tracked in the !562 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
1.4.4 Resize text (Level AA) Partially supports

In most instances the product supports the use of standard zoom capabilities built into modern web browsers.

  • Known instances where text is clipped or inaccessible when zoomed are tracked in the !563 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
1.4.5 Images of Text (Level AA) Partially supports

The product may include decorative images or illustrations that contain text.

  • An image of text may be added in user generated content with GitLab Flavored Markdown and there is the capability to add alternative text.
  • Known instances are tracked in the !10943 epic.
  • There is no mechanism to verify that the user has included alternative text, or that if included, it's accurate. Therefore, we classify this as partially supports.
1.4.10 Reflow (Level AA 2.1 only) Supports The product is responsive 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.

  • Known instances are being tracked in the !8763 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
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

In most instances the product uses descriptive headings and labels to describe the purpose or topic on a page.

  • Know instances where headings and labels could be improved are tracked in the !566 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
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.
  • Until an assessment can be completed to determine the impact, we will classify this as partially supports.
3.1.2 Language of Parts (Level AA) Partially supports

The product uses the language attribute on the HTML element to specify the default language of a page.

  • 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, therefore, we will classify this as partially supports.
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

In most instances the product provides suggestion for how to mitigate input errors.

  • Known instances where error remedies are not provided or are not programmatically associated to help assistive technologies are tracked in the !7341 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.
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

In most cases the product uses roles to provide status messages to assistive technologies without receiving focus.

  • Known instances of visual responses to user actions that use a status message, but are not perceptive to assistive technologies are tracked in the !8764 epic.
  • Until all known instances have been addressed, we will classify this as partially supports.

Table 3: Success Criteria, Level AAA

NOTE: The GitLab product has not been evaluated for WCAG 2.0 Level AAA conformance.

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: