Skip to content
Signal

Patterns

Stop-sheet alerts and step-free status

Service alerts and step-free status on the stop sheet.

Train service alerts and step-free status in a train station’s stop sheet, extending the Alert component.

Stop sheet only.Train service alerts and station accessibility appear only in a train station’s stop sheet. Home has no advisory banner, and stop cards, route lists, map markers, bus stop sheets, and other surfaces remain unchanged.

Alert affordance and detail

AreaBehavior
GlyphThe filled warning triangle leads the metadata row under the station title. It uses the orange Alert token and sits in a minimum 44 × 44pt button target, before the accessibility button.
ShownShow one glyph when at least one live train alert applies to the station through CTA’s systemwide, route, or station scope. Active and planned alerts both qualify.
HiddenShow no glyph when no alert applies or alert data is absent, and never show it on bus stop sheets or outside the stop sheet. Do not reserve empty space.
AccessibilityThe button label is count-aware: “1 train service alert” or “n train service alerts.” The triangle itself is decorative inside the labelled button.
ActionTapping the glyph opens the current native system alert titled Train service alerts. Each item reads “<kind> train alert: <headline>” followed by its description, with blank lines between items. Kind is currently Active or Planned, with the generic Train alert fallback for unknown status.
DismissalThe system alert has one Close button. Native alert focus, dismissal, and Dynamic Type behavior apply.

Accessibility button

AreaBehavior
PresentationThe figure.roll symbol in a 44 × 44pt button in the metadata row, after the alert glyph. Good when CTA reports step-free access, Warn when it reports none, Muted when status is unknown or not yet loaded. Label Accessibility information.
ActionOpens a centered system alert titled Accessibility. The message is one sentence: “Step-free access is available at <station>.”, “CTA currently reports no step-free access at <station>.” or “Accessibility information is currently unavailable for <station>.” One Close button; native alert focus, dismissal and Dynamic Type apply.
ScopeTrain station sheets only. Bus stop sheets show no button.

Data and lifetime

DataSource and storage
Train alertsLive GET /api/v1/alerts?route_type=train data, matched against CTA systemwide, route, and station scopes.
Step-free statusThe live CTA station accessibility field supplied with stop data and aggregated for the selected station.
PersistenceNeither source is persisted. Keep both in memory only; do not add a SwiftData field, schema migration, or offline claim. A later refresh replaces live station metadata, while an alert refresh failure may retain the last good alert set for the session.