Accessibility Conformance Report (WCAG 2.2 and 2.1, Level AA)

Based on the VPAT 2.5 WCAG edition. Groundskeeping and Floorkeeping share one codebase, so this report covers both.

Terms used: Supports, Partially supports, Does not support, Not applicable.

Summary

The app supports WCAG 2.2 Level A and AA with three qualifications.

1. The satellite map and the marker layer are two-dimensional content. They are exempt from reflow, and every map object can still be reached and used with the keyboard. 2. A manager can choose colors for marker outlines, mow days, library folders and chips. On library folders and chips the app picks black or white text for whichever contrasts more. On the map it cannot guarantee contrast for a color a manager picks over the manager's own imagery, though a dark casing under every outline keeps the defaults readable. 3. How-to videos are the manager's own YouTube links, so their captions depend on how the manager uploads them. Help asks for captions.

Level A

CriterionLevelConformanceNotes
1.1.1 Non-text ContentASupportsEvery icon button has an accessible name; decorative SVGs are aria-hidden; map markers carry names describing kind, zone, state, and assignment.
1.2.1 Audio-only and Video-onlyANot applicableThe app plays no prerecorded media of its own.
1.2.2 Captions (Prerecorded)APartially supportsHow-to videos are manager-supplied YouTube links; captions are the uploader's responsibility (Help instructs managers to enable them).
1.2.3 Audio Description or Media AlternativeAPartially supportsAs above.
1.3.1 Info and RelationshipsASupportsNative headings, lists, tables (schedule), details/summary drawers, labeled fields, dialog roles.
1.3.2 Meaningful SequenceASupportsDOM order matches visual order in panels and dialogs.
1.3.3 Sensory CharacteristicsASupportsInstructions refer to control names, not only shape or position.
1.4.1 Use of ColorASupportsDone state uses fill plus date and initials; unfinished markers carry a glyph; a sprinkler head's Working, Needs repair and Fixed each carry their own glyph (check, exclamation mark, wrench) as well as their color, on zone pages and the choices, and their names are in the marker's accessible name; on the home map and the zone pages each head is a small dot whose shape tells its state as well (not checked a ring, working a dot, fixed a rounded square, needs repair a larger dot with its exclamation mark; issues #151 and #177), and the bed's list and hover pill give each head's state in words or with its glyph; mow days carry text labels; problem and photo pins differ in glyph; the status page's day bars differ in height as well as color, with a table of the days that were not working.
1.4.2 Audio ControlANot applicableNo auto-playing audio.
2.1.1 KeyboardASupportsAll controls are native buttons, inputs, and selects; map markers, pins, zones, mower areas, and mow days are focusable with Enter/Space to act and Shift+F10 for menus; shape points are focusable and moved with arrow keys. Segmented choices such as "When do you need it?" in Ask for a tool (v3.122) are radio groups with one tab stop, moved with the arrow keys.
2.1.2 No Keyboard TrapASupportsDialogs trap Tab intentionally and release on Escape or any close action; menus close on Escape.
2.1.4 Character Key ShortcutsASupportsSingle-key shortcuts (+, -, 0, arrows) are active only when focus is on the map region and not in a field, dialog, or panel. The Break time games' letter keys (W A S D, and in Sod Stack X, Z and C) work only while a game is open full screen.
2.2.1 Timing AdjustableASupportsNo time limits on tasks; toasts are informational and announced. A message with an action (Undo, Try again) does not time out while focus is on it (a newer one with an action can take its place). The optional Break time games are timed by design, the real-time exception in 2.2.1; they never hold up work.
2.2.2 Pause, Stop, HideANot applicableNo moving or auto-updating content beyond user-initiated map changes.
2.3.1 Three FlashesASupportsNothing flashes more than twice a second: the warnings in the Break time games (a goose about to recover, the mower after a hit) blink at most twice a second, over a small area, and not at all with reduced motion.
2.4.1 Bypass BlocksASupportsSkip link to the map; landmarks for the rail, map, and panels.
2.4.2 Page TitledASupportsThe product name.
2.4.3 Focus OrderASupportsRail, map objects, then panels; dialogs move focus in and return it.
2.4.4 Link PurposeASupportsLinks are named ("Open in YouTube", "Open link").
2.5.1 Pointer GesturesASupportsPinch zoom has + and - buttons; box select has tap-to-add. Every swipe, drag and flick in the Break time games has an on-screen button (the pad, and Hold in Sod Stack) and a key. The photo viewer's swipe to the next photo has the Previous and Next buttons, above the photo on a phone too, and the arrow keys.
2.5.2 Pointer CancellationASupportsActions complete on release; marks can be cleared; drags can be reverted.
2.5.3 Label in NameASupportsAccessible names begin with the visible label.
2.5.4 Motion ActuationANot applicableNo motion input.
3.1.1 Language of PageASupportshtml lang matches the language chosen in Settings ("en" by default).
3.2.1 On FocusASupportsFocus changes nothing.
3.2.2 On InputASupportsSelects and checkboxes apply settings without changing context; the effect is described beside them.
3.2.6 Consistent HelpASupportsHelp and Feedback are in the same position in the left bar on every view.
3.3.1 Error IdentificationASupportsValidation messages name the field and the fix (for example, hours format).
3.3.2 Labels or InstructionsASupportsEvery field has a visible label; formats are given as examples.
3.3.7 Redundant EntryASupportsPreviously entered names, hours, and choices are prefilled or selectable.
4.1.2 Name, Role, ValueASupportsCustom controls carry roles and states (pressed filters, checked stars, dialog, menu, menuitem, radio groups with aria-checked, the Me too chip with aria-pressed).

Level AA

CriterionLevelConformanceNotes
1.2.4 Captions (Live)AANot applicable
1.2.5 Audio DescriptionAAPartially supportsManager-supplied videos, see 1.2.2.
1.3.4 OrientationAASupportsPortrait and landscape both work.
1.3.5 Identify Input PurposeAASupportsEmail fields use autocomplete="email"; the PIN uses current-password.
1.4.3 Contrast (Minimum)AASupportsText on surfaces meets 4.5:1 (ink #1C1C1C and #46484B on light surfaces; white on navy #173D52 at 9.9:1).
1.4.4 Resize TextAASupportsText resizes to 200% without loss; the rail widens and labels wrap.
1.4.5 Images of TextAASupportsNone used.
1.4.10 ReflowAASupports (map exempt)Panels reflow to 320 px; the schedule switches to a one-day list; the map is two-dimensional content.
1.4.11 Non-text ContrastAAPartially supportsControls and focus indicators meet 3:1; default marker outlines carry a dark casing over imagery, and a sprinkler head's dot a white edge over an ink casing, on the home map (v3.188.43, issue #151) and the zone pages (v3.188.50, issue #177); manager-chosen colors are outside the app's control.
1.4.12 Text SpacingAASupportsNo fixed-height text containers that clip.
1.3.1 (tables, v3.162)ASupportsScrolling tables are keyboard-focusable named regions, so their content can be scrolled without a mouse.
1.4.13 Content on Hover or FocusAASupportsThe hover pill is dismissible with Escape, hoverable, and persists while hovered. The first-run tour's card stays until Next, Back, End tour or Escape, and covers nothing it points at.
2.4.5 Multiple WaysAANot applicableSingle-page application; Help has search.
2.4.6 Headings and LabelsAASupports
2.4.7 Focus VisibleAASupports2 px primary outline on controls; 4 px yellow ring on map objects.
2.4.11 Focus Not Obscured (Minimum)AASupportsFocused rail items scroll into view; panels do not cover focused controls.
2.5.7 Dragging MovementsAASupportsEvery drag has a non-drag alternative: arrow keys move points; taps add and select; zoom buttons replace pinch; a sprinkler bed's heads, reordered by dragging a number, also have Move up and Move down (v3.188.27).
2.5.8 Target Size (Minimum)AASupportsButtons 40 px, chips 32 px, edge dots and points 24 px, gallery buttons 32 px. A map marker's tap pad is 48 px however small it draws; while placing sprinklers, a head keeps a target of at least 24 px across (v3.188.29). In Edit this zone a head is the same dot with the same reach; while a drawing tool is on it takes no taps so a corner can be placed beside it, except with the head tool, where a tap on or beside a head selects it (v3.189.3, issue #199). Anywhere in Edit this zone a tap does not open the list of overlapping heads; it selects the one on top, and Select area or a zoom in reaches the others. A sprinkler head's dot reaches 48 px across with a finger and 24 px with a mouse, on the home map (v3.188.43, issue #151) and the zone pages (v3.188.50, issue #177); where several heads' reaches overlap, a tap opens a list of them with rows at least 48 px tall, the equivalent control.
3.1.2 Language of PartsAASupportsThe interface can be shown in another language; the page language (html lang and dir) changes with it. Text people type is shown as written.
3.2.3 Consistent NavigationAASupportsThe left bar is the same on every view (managers may reorder it, which is a user-initiated change).
3.2.4 Consistent IdentificationAASupports
3.3.3 Error SuggestionAASupports
3.3.4 Error Prevention (Legal, Financial, Data)AASupportsDeletions and clears confirm; marks are reversible.
3.3.8 Accessible Authentication (Minimum)AASupportsThe manager PIN field allows paste and password-manager fill (autocomplete="current-password") and can be kept unlocked. The two-step code field allows paste and one-time-code autofill, and accepts spaces; so do the author's code fields, and the author's recovery codes can be copied and pasted (v3.188.11). Campus sign-in uses the university's own sign-in page. Author and organization keys are pasted.
4.1.3 Status MessagesAASupportsToasts and the schedule's "in right now" line are announced through a polite live region, and so is a zoom that shows or hides the sprinkler heads (v3.188.50, issue #177). The status page announces a change in its headline, not each minute's refresh.

Known limitations and roadmap

Contact

Accessibility problems or questions: rems.byustudies@gmail.com. You will have an answer within three working days.