Accessibility at Bloomily

Bloomily for Android: Accessibility Conformance Report, WCAG Edition

Written by Bloomily from its own testing. Report date: 2026-10-10.

Based on VPATĀ® Version 2.5 Rev, WCAG Edition. VPATĀ® is a registered service mark of the Information Technology Industry Council (ITI). WCAG criteria are applied to native software as described in WCAG2ICT.

Name of product and version

Three Android apps:

AppPackageUsersVersion this report describes
Bloomily (family app)app.bloomily.parentfamilies1.0.74 (version code 77), on the production track on Google Play on 2026-10-10
Bloomily Centerapp.bloomily.staffschool staffNot published on Google Play, and no school runs it on 2026-10-10. The rows below do not describe it
Bloomily Kioskapp.bloomily.kioskfamilies at the door, staff1.0.23 (version code 26), on the production track on Google Play on 2026-10-10

Every row describes the two Google Play versions. Each version's source was checked to contain every change this report relies on (the family app from Bloomily's revision 07b253ef7f, the kiosk from bd4f0dd8a1).

Report date

2026-10-10

Product description

As for iOS: the family app and the check-in tablet app. (The staff and office app for Android is not published.)

Contact information

accessibility@bloomily.app. We send a first reply within 2 business days.

Notes

Evaluation methods used

Bloomily's own testing, 2026-09-24 to 2026-10-10: the Accessibility Test Framework audit on the family app's signature screens, album tiles, Photos feed and the video player with captions, and the kiosk's Draw, Type your name, "Still there?", PIN and walk-up QR screens (the QR view with keyboard focus), at font scale 1.0 and 2.0, with the kiosk on a 10-inch landscape tablet emulator; screenshots of the family app's Home, Calendar, Messages, More, Reports, Photos, sign-in and invite-code screens at font scale 2.0 and in the dark theme, read for clipped text, with the dark theme's text measured from the screen's own pixels (83 texts on Home, Reports and Photos); keyboard and directional-pad walks of the family app's Home and of every kiosk screen with key events sent to the emulator; a device test that plays a teacher video with a checked caption track and reads the caption shown at each moment; TalkBack utterance logs on sign-in, Home, calendar, kiosk PIN, signature and warning; unit tests for contrast, the kiosk timer, calendar words and the typed signature; the source lint over all apps; contrast computed with the WCAG 2.1 formula. The Google Play versions were read on 2026-10-10. Not done: a TalkBack walk by a person, a real phone, the family app's detail screens (report detail, settings, absences form, drop-in booking) in the dark theme and at font scale 2.0, the Stripe sheet after the Compose upgrade, and the Center app (not published).

Applicable standards and guidelines

Standard / guidelineIncluded in report
Web Content Accessibility Guidelines 2.0Level A: Yes. Level AA: Yes. Level AAA: No
Web Content Accessibility Guidelines 2.1Level A: Yes. Level AA: Yes. Level AAA: No
Web Content Accessibility Guidelines 2.2Level A and AA rows reported for information only; not part of the claim. Level AAA: No

Terms

Supports, Partially Supports, Does Not Support and Not Applicable as defined in the web report. Not Evaluated is used for no row.

WCAG 2.x report

Table 1: Success criteria, Level A

CriteriaConformance levelRemarks and explanations
1.1.1 Non-text Content (Level A)SupportsNo icon button lacks a name (lint at 0). Family app: album tiles, the full-size photo and daily-report thumbnails are named by the school's caption (on the family's own child), the school's description written for every family, their place in the set and the date; the full-size photo is named while it loads and after it fails; the Photos feed names each tile the same way. Calendar dots are spoken as words. A class-album photo of another family's child: Supports when the school turns on Caption and describe the photos and videos teachers post and describes each album photo; with the setting off it is named by its place and date only.
1.2.1 Audio-only and Video-only (Prerecorded) (Level A)SupportsSupports when the school turns on Caption and describe the photos and videos teachers post and writes what happens in each video. The family app shows the school's description under the video; for a video with no sound the description is the alternative. No audio-only content.
1.2.2 Captions (Prerecorded) (Level A)SupportsSupports when the school turns on Caption and describe the photos and videos teachers post and checks each video's captions. The family app plays the checked captions as a text track, follows the phone's caption setting, and offers a Captions switch that says whether it is on; the cue shown at each moment was read during playback on the emulator. Only captions a person at the school has checked are shown.
1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A)SupportsSupports when the school turns on Caption and describe the photos and videos teachers post and writes what happens in each video: the description plus "Show what is said" (the checked words as plain text in a named pane) form the media alternative.
1.3.1 Info and Relationships (Level A)Supports88 top-bar titles and 16 kiosk step titles are headings; radio and checkbox rows are one element with their state; the kiosk PIN row is one element with its progress as its value.
1.3.2 Meaningful Sequence (Level A)SupportsTalkBack's focus order followed the layout on the logged screens, and the keyboard order on Home followed the layout. Not verified by a gesture walk.
1.3.3 Sensory Characteristics (Level A)SupportsInstructions name the control ("Press Keep going to stay", "Type your name").
1.4.1 Use of Color (Level A)SupportsCalendar dots are spoken as words ("1 event: Holiday"); status words accompany every status colour.
1.4.2 Audio Control (Level A)Not ApplicableNothing plays sound on its own.
2.1.1 Keyboard (Level A)SupportsEvery clickable carries a role. Family app: on Home, Tab reaches all 17 controls in order and cycles back, the directional pad reaches them in spatial order, and Enter activates. Kiosk: setup was completed from the keyboard alone; the welcome tiles, Back, the ten digits and Delete are reachable, and Enter types the focused digit. The signature pad offers "Type your name". Tested with key events on the emulator, not a physical keyboard.
2.1.2 No Keyboard Trap (Level A)SupportsTab cycles on every screen walked; navigation is the platform's.
2.1.4 Character Key Shortcuts (Level A)Not ApplicableNo keyboard shortcuts are defined.
2.2.1 Timing Adjustable (Level A)SupportsKiosk: "Still there?" 20 seconds before the 120-second reset with one "Keep going" button that restarts the full time, as often as needed; any touch restarts it; a stroke in progress holds it; the success screen stays 20 seconds. Family app: no time limits.
2.2.2 Pause, Stop, Hide (Level A)SupportsThe kiosk welcome pulse stops when the system animation scale is off; nothing else moves on its own. Verified in code, not on a device.
2.3.1 Three Flashes or Below Threshold (Level A)SupportsNothing flashes.
2.4.1 Bypass Blocks (Level A)SupportsScreen and section titles are headings, so TalkBack can jump by heading.
2.4.2 Page Titled (Level A)SupportsEvery screen's top bar title is a heading ("Calendar, Heading"; "Enter Your PIN, Heading").
2.4.3 Focus Order (Level A)SupportsFocus order follows the layout; kiosk step titles are announced on entry. Not verified by a gesture walk.
2.4.4 Link Purpose (In Context) (Level A)SupportsButtons and links say what they do; a full-screen dismiss is named "Close".
2.5.1 Pointer Gestures (Level A)SupportsNo path-based gesture is required; the signature pad has "Type your name".
2.5.2 Pointer Cancellation (Level A)SupportsStandard controls act on release; the signature pad draws on touch because drawing needs it.
2.5.3 Label in Name (Level A)SupportsAccessible names contain the visible text ("selected, Draw, Tab, 1 of 2", "Keep going", "Captions").
2.5.4 Motion Actuation (Level A)Not ApplicableNothing is operated by device motion.
3.1.1 Language of Page (Level A)SupportsThe apps are English and declare it.
3.2.1 On Focus (Level A)SupportsFocus never changes context.
3.2.2 On Input (Level A)SupportsChoosing a value never navigates by itself.
3.3.1 Error Identification (Level A)Supports87 inline error texts are polite live regions; the kiosk result is a live region; a blocking warning is assertive.
3.3.2 Labels or Instructions (Level A)SupportsFields carry their visible labels ("Caption (optional)", the PIN label); the consent sentence sits under every signature.
4.1.1 Parsing (Level A)Not ApplicableNot applicable to native software.
4.1.2 Name, Role, Value (Level A)SupportsEvery clickable has a role (168 without a role to 0); PIN progress, day selection, the Draw/Type tabs and the Captions switch expose their state; the audit reports no missing name on the audited screens (only disabled buttons, which are exempt).

Table 2: Success criteria, Level AA

CriteriaConformance levelRemarks and explanations
1.2.4 Captions (Live) (Level AA)Not ApplicableNo live media.
1.2.5 Audio Description (Prerecorded) (Level AA)SupportsSupports when the school turns on Caption and describe the photos and videos teachers post and writes what happens in each video: "Play with description" has the phone's own voice read the school's description, then plays the clip (extended description, W3C technique G8). It is offered only when a description exists and the phone has a voice; the speech itself was not listened to.
1.3.4 Orientation (Level AA)SupportsThe family app rotates. The kiosk app is locked to landscape because it runs on a tablet mounted on a wall or stand at the door; that orientation is essential to the product (WCAG 1.3.4 exception; decided 2026-09-26).
1.3.5 Identify Input Purpose (Level AA)SupportsEvery field that collects the person's own email, password, name, phone, address or one-time code declares its purpose (family and kiosk sign-in, registration, sign-up); fields about someone else never do; a lint rule holds both directions.
1.4.3 Contrast (Minimum) (Level AA)SupportsOrange fills carry dark ink (7.22:1); orange as text is 5.09:1; error and success text are 6.47 and 5.02:1; every token pair is held by a unit test; the audit reports no contrast failure on the audited screens apart from disabled controls (exempt). Dark theme: 0 failures across the 83 texts measured on Home, Reports and Photos (the lowest 4.53:1), and 0 in the light theme; the family app's dark scheme button is 4.62:1.
1.4.4 Resize Text (Level AA)SupportsAll text sizes are in scalable units. At font scale 2.0 the family app's Home, Calendar, Messages, More, Reports, Photos, sign-in and invite-code screens and every audited kiosk screen wrap with no clipped text; dialogs scroll; child cards grow with the text and the school's name wraps; above 1.5 times the default size the bottom bar shows icons only, with each name kept for TalkBack and a long-press tooltip; buttons with a fixed height grow with their label; the numbers on the video player's rewind and forward buttons scale.
1.4.5 Images of Text (Level AA)SupportsNo text is drawn as an image apart from logos and the rendered signature.
1.4.10 Reflow (Level AA)SupportsAt font scale 2.0 the family app's screens scroll in one direction (the row of child cards is a single-axis carousel), and the kiosk's audited screens fit a 10-inch landscape tablet at font scale 1.0 and 2.0.
1.4.11 Non-text Contrast (Level AA)SupportsField outlines are 4.80:1; switches, checkboxes, radios and focused borders are 5.09:1; the selected-child ring is 4.4:1; the ink mark on a filled control is at least 3.4:1; report icons are held to 3:1. Loading spinners draw in the text orange on light surfaces (4.66 to 5.09:1) and the light orange on dark ones (6.72:1 or more); the few left in the bright orange sit on black (7.75:1), and a lint rule holds the rest at 0.
1.4.12 Text Spacing (Level AA)Not ApplicableAndroid provides no user setting for letter, word or paragraph spacing.
1.4.13 Content on Hover or Focus (Level AA)Not ApplicableNo hover; nothing appears on focus alone.
2.4.5 Multiple Ways (Level AA)Not ApplicableApp screens are not a set of pages.
2.4.6 Headings and Labels (Level AA)SupportsHeadings and labels describe their content.
2.4.7 Focus Visible (Level AA)SupportsThe platform focus indicator is kept on every control. The kiosk draws a 3 dp ring in the text orange (4.97:1 on ivory) around the control that has keyboard or directional-pad focus, and its full-screen walk-up QR view, which has no press ripple, draws a 4 dp border in the same orange.
3.1.2 Language of Parts (Level AA)Not ApplicableThe apps are English; a school's message in another language is shown as written.
3.2.3 Consistent Navigation (Level AA)SupportsThe same structure on every visit.
3.2.4 Consistent Identification (Level AA)SupportsThe same controls carry the same names.
3.3.3 Error Suggestion (Level AA)SupportsError text says what to fix.
3.3.4 Error Prevention (Legal, Financial, Data) (Level AA)SupportsPayments go through Stripe's sheet with the amount shown before confirming; a kiosk check-in can be reversed by a check-out; form sign-offs show what is signed.
4.1.3 Status Messages (Level AA)Supports87 error texts, the kiosk result, "Signature added" and "Signature cleared" and the timeout warning are live regions.

WCAG 2.2 criteria (information only, not part of the claim)

CriteriaConformance levelRemarks and explanations
2.4.11 Focus Not Obscured (Minimum) (Level AA)SupportsThe keyboard resizes the screen rather than covering the field (adjustResize).
2.5.7 Dragging Movements (Level AA)Supports"Type your name" beside every drawn signature.
2.5.8 Target Size (Minimum) (Level AA)SupportsThe audit reports no small-target finding on the audited screens; the video player's controls are 48 dp high.
3.2.6 Consistent Help (Level AA)Not ApplicableNo help mechanism repeats across screens.
3.3.7 Redundant Entry (Level AA)SupportsThe kiosk reuses the typed name for the signature; forms keep what was typed.
3.3.8 Accessible Authentication (Minimum) (Level AA)SupportsSign-in by emailed code or password; no puzzle.

This report describes Bloomily's own testing of the versions named above on the date named above. It is not a certification, and it makes no statement about content a school or a family adds to the product.