Review Date
A review date component displays a date associated with a review, audit, or scheduled check-in. It renders as a semantic HTML <time> element with a machine-readable datetime attribute in ISO 8601 format and human-readable display text provided through a children slot. This separation allows browsers and assistive technologies to parse the date for accurate interpretation while displaying a user-friendly formatted date.
The component is commonly used in dashboards, compliance tracking, audit logs, and scheduling interfaces where dates need to be both human-readable and machine-parseable.
Implementation Notes
- Renders as
<time aria-label={label} datetime={datetime}>with children slot - The
datetimeattribute uses ISO 8601 format for machine readability - Children slot provides localized human-readable date text
- Semantic
<time>element enables browser and assistive technology date parsing - All additional HTML attributes are spread onto the time element via
restProps
Props
label: string (required) -- accessible label for screen readers viaaria-labeldatetime: string (required) -- ISO 8601 date/time string for machine readabilitychildren: slot (required) -- human-readable display text for the date...restProps: any -- additional HTML attributes spread onto the time element
Usage
<!-- Display last reviewed and next review dates at the bottom of a content page -->
<p>
Page last reviewed:
<ReviewDate label="Last reviewed" datetime="2025-03-15">15 March 2025</ReviewDate>
</p>
<p>
Next review due:
<ReviewDate label="Next review due" datetime="2028-03-15">15 March 2028</ReviewDate>
</p>
<!-- Single review date in a compliance dashboard -->
<ReviewDate label="Last audit" datetime="2025-01-08">8 January 2025</ReviewDate>
<!-- Dynamic date with locale-formatted display text -->
<ReviewDate label="Next review" datetime={isoDate}>{formattedDate}</ReviewDate>
Keyboard Interactions
None -- this is an informational display, not interactive.
ARIA
aria-label-- provides screen reader context from thelabelpropdatetime-- machine-readable date attribute on the<time>element
When to Use
- Use on content pages to reassure users that the information has been recently reviewed and is up to date
- Use when user research shows that knowing the review date increases trust in the content
- Use at the bottom of the page as low-priority supplementary information
- Use to display both the last reviewed date and the next review due date
When Not to Use
- Do not use on transactional pages -- review dates are not meaningful in form-based journeys
- Do not use when only part of a page has changed -- the review date should reflect a full page review
- Do not use for real-time or frequently changing content -- the static date pattern does not suit dynamic data
Headless
The ReviewDate headless component provides a <time> element with aria-label for accessible naming and a datetime attribute in ISO 8601 format for machine readability. The children slot renders human-readable text. The consumer provides all visual styling and date formatting.
Styles
The consumer provides all CSS styling. The component renders with a .review-date class for targeting. No default styles are included — this is a fully headless component.
Testing
- Verify the component renders a
<span>element with classreview-date - Verify aria-label
-- provides screen reader context from thelabel` prop - Verify pass-through attributes are applied
Advice
- Designers: Display dates in a format familiar to your target audience (e.g., "June 15, 2025" for US, "15 June 2025" for UK) and visually distinguish upcoming vs. past review dates.
- Developers: Always pass a valid ISO 8601 string to
datetimeand format the children text using locale-appropriate date formatting for human readability.
Related components
date-time-view— a read-only display of a formatted date and timedate-time-view— see components.tsvbyline— see components.tsv