On this page
  1. Our target
  2. What we have done
  3. Known limitations
  4. Report a problem
  5. About this statement

Our target

We aim to meet the Web Content Accessibility Guidelines (WCAG) 2.2 at level AA. The site has been checked by its developers but has not yet had an independent accessibility audit, so we can’t claim full conformance. Where we know it falls short, it is listed below.

What we have done

  • Pages use headings, landmarks and lists properly, and there is a “Skip to content” link on every page.
  • Everything is designed to work with a keyboard alone, and the item with keyboard focus is clearly outlined.
  • Every form field has a visible label, and errors are explained in words next to the field.
  • Text is designed to reach a contrast ratio of at least 4.5:1 in both the light and dark themes. The site starts in a dark theme, and you can switch to a light theme at any time; your choice is remembered on your device.
  • Statuses such as “Completed” or “Needs changes” are always written in words, never shown by colour alone.
  • Buttons and menu items are at least 44 by 44 pixels on touch screens, and pages are designed to work at 360 pixels wide and when zoomed to 200% without scrolling sideways.
  • Animation is switched off if you have asked your device to reduce motion, and all content is visible even if JavaScript fails to load.
  • Icons that carry no extra meaning are hidden from screen readers; images that carry meaning have text alternatives.
  • Fonts are loaded from this site, so text is readable without any third-party service.

Known limitations

  • Activity chart. The daily activity chart is drawn on a canvas. The same information is available as text: the progress page shows weekly totals as a table (“Show as a table”), and each day’s count is announced as you move through the chart with the arrow keys.
  • Rearranging the dashboard. Dashboard cards can be dragged with a mouse or, on touch screens, by pressing and holding. Keyboard users can do the same by focusing a card, holding Alt and pressing the arrow keys. Rearranging is optional; the default order works for everyone.
  • Code examples. Long lines of code scroll sideways inside their own box rather than wrapping, because wrapping would change the meaning of Python code.
  • Admin panel. Staff use Django’s standard admin panel, which has not been tested to the same standard as the rest of the site.
  • Content from others. Websites we link to (such as documentation and GitHub) and files that members upload are outside our control and may not be accessible.

Report a problem

If anything on CodeLA is hard to use, or you need information in a different format, please tell us: contact the organiser of CodeLA as described on the contact page. Say which page you were on and what happened. We will reply as soon as we can and try to fix the problem, or find another way to give you what you need.

If you aren’t happy with our response, you may be able to contact the body that enforces accessibility law where you live.

About this statement

This statement is based on the developers’ own checks of keyboard navigation, colour contrast, narrow screens and reduced-motion settings, not on an independent audit.