Aglet

Triage notification read-state confusion before changing list behavior

Opening a notification, focusing it, dismissing it, and explicitly marking it read may carry different meanings. Triage the read contract before changing styles or transitions. Follow one item through each action and compare list, badge, history, and return behavior. Separate acknowledgement from completion when interpreting each transition.

Establish what is happening

  1. Capture the transition

    Record notification state, focus, open, mark action, dismissal, list styling, badge value, timestamp, and sync result. Include keyboard, pointer, and grouped paths where they differ. Keep a no-action control. Mark which transition can be reversed.

  2. Compare viewing and acknowledgment

    Ask whether seeing content means the person has addressed it. Compare a passive read with an explicit acknowledgement or task completion. Record when a state change happens without a user action and whether it is reversible.

  3. Set the read boundary

    State which action changes unread, how the badge responds, how a person restores context, and what remains in history. Preserve a working path. Stop when another reviewer can predict the state from the action taken. Record the action that changed the badge and history together.

What to carry forward

The triage output is a read-state semantics table with actions, visual cues, badge behavior, and reversibility. Stop when viewed and addressed are distinguishable. If the product has not chosen a transition, preserve unread state and route the decision.

Technical background: W3C guidance.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow