User Interface medium complexity frontendmobile
1
Dependencies
0
Dependents
3
Entities
0
Integrations

Description

Screen presented to the driver to read and confirm receipt of the confidentiality declaration. Implements a lightweight e-signature flow using checkbox acknowledgement with a recorded timestamp, accessible via a deep link or in-app notification.

Feature: Driver Administration and Confidentiality Declarations

declaration-acknowledgement-screen

Summaries

Obtaining and recording a driver's explicit acknowledgement of a confidentiality declaration is a critical compliance requirement. This screen digitises that process, replacing paper-based or informal verbal confirmations with a timestamped, auditable electronic record. The result is a defensible compliance trail that reduces legal risk for the organisation and simplifies audits. Accessibility compliance (WCAG 2.2 AA) ensures the feature is inclusive and protects the organisation from accessibility-related liability.

Accessible via deep link and in-app notification, this screen fits naturally into the driver's workflow without requiring additional training or manual coordination steps.

Medium complexity screen with a single service dependency (declaration-acknowledgement-service), which simplifies integration risk. The deep link entry point requires coordination with the notification delivery system to ensure the link carries the correct declarationId and remains valid (not expired). The scroll-to-bottom requirement before enabling acknowledgement is a UX enforcement mechanism that must be tested across device sizes and font scaling settings. WCAG 2.2 AA compliance adds a testing obligation — screen reader testing on both iOS (VoiceOver) and Android (TalkBack) should be in the QA plan.

The onDecline path must be specified in terms of downstream state (does it expire the declaration? notify the coordinator?) before implementation begins.

Renders the full declaration text from declaration-acknowledgement-service using declarationId. Implement scroll tracking (onScrollToBottom) via a ScrollController listener that enables the acknowledgement checkbox only after the user reaches the bottom — gate the confirm button on both scrolled=true and checked=true. onConfirmAcknowledgement submits declarationId and a client-side timestamp (UTC ISO 8601) to the service, which should persist a declaration_acknowledgement record and update the parent confidentiality_declaration status. getReadStatus() should be a synchronous local state query, not a service call.

Deep link routing must extract declarationId from the URI and validate it before rendering. Apply Semantics widgets for WCAG compliance: label checkbox with descriptive text, ensure all interactive elements have minimum 44×44 touch targets. Data models: confidentiality_declaration, declaration_acknowledgement.

Responsibilities

  • Render full declaration text in a scrollable, accessible format
  • Require explicit checkbox acknowledgement before confirming
  • Capture and record acknowledgement timestamp
  • Provide WCAG 2.2 AA compliant layout with screen reader support

Interfaces

renderDeclarationContent(declarationId)
onScrollToBottom()
onAcknowledgementToggled(checked)
onConfirmAcknowledgement(declarationId, timestamp)
onDecline()
getReadStatus()

Relationships

Dependencies (1)

Components this component depends on