Calendar with states that are distinguishable without colour #19

Closed
opened 2026-08-18 03:33:28 -05:00 by null · 0 comments
Owner

The Calendar tab is a placeholder. PRODUCT_PLAN.md §26 wants four visually distinct states: confirmed period, predicted period, estimated fertile window, estimated ovulation.

The rule that decides the design, from §26 and §43: do not rely on colour alone, and never make predicted and confirmed days look identical. Confirmed is a solid fill, predicted is dotted or outlined, fertile window is a ring, ovulation is its own marker — a difference in shape, so it survives greyscale, colourblindness, and a screenshot in a bug report.

Tapping a day should let the user log or edit that day, which is how a forgotten period gets added without hunting for a form.

Accessibility is not a later pass here (§43): every marked day needs a content description saying what it is, because a calendar that reads as a grid of numbers to TalkBack has no information in it at all.

Verify: a greyscale screenshot of a month containing all four states shows four distinguishable markers; TalkBack announces the state of a marked day; and tapping a day opens the log or edit path for it.

The Calendar tab is a placeholder. PRODUCT_PLAN.md §26 wants four visually distinct states: confirmed period, predicted period, estimated fertile window, estimated ovulation. The rule that decides the design, from §26 and §43: **do not rely on colour alone, and never make predicted and confirmed days look identical.** Confirmed is a solid fill, predicted is dotted or outlined, fertile window is a ring, ovulation is its own marker — a difference in *shape*, so it survives greyscale, colourblindness, and a screenshot in a bug report. Tapping a day should let the user log or edit that day, which is how a forgotten period gets added without hunting for a form. Accessibility is not a later pass here (§43): every marked day needs a content description saying what it is, because a calendar that reads as a grid of numbers to TalkBack has no information in it at all. Verify: a greyscale screenshot of a month containing all four states shows four distinguishable markers; TalkBack announces the state of a marked day; and tapping a day opens the log or edit path for it.
null added this to the Batch 03 — Core UX milestone 2026-08-18 03:33:28 -05:00
null closed this issue 2026-08-18 04:01:51 -05:00
Sign in to join this conversation.
No Label
P0
P1
P2
release-blocker
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: null/Privacy-Period-Tracker#19
No description provided.