A static link expiry notice shows Project brief, July 31, 2026 expiry, 3 days before reminder, and Active preview status.

Program

Link expiry notices should show the date and reminder state without running clocks or reminder services.

link_expiry_notice.html
Visuals: captured from real browser rendering
<section class="expiry-notice" aria-labelledby="expiry-notice-title"><h2 id="expiry-notice-title">Link expiry notice</h2><dl>
  <div><dt>Link</dt><dd>Project brief</dd></div>
  <div><dt>Expires</dt><dd>July 31, 2026</dd></div><div><dt>Reminder</dt><dd>3 days before</dd></div>
  <div><dt>Status</dt><dd><span class="badge">Active preview</span></dd></div></dl>
  <p class="check">Learner check: the expiry preview is visible without running a scheduler.</p>
  <p class="note">Static link expiry notice only; no expiry scheduler, clock watcher, reminder service, sharing service, storage, route, API, network, script, event listener, form submit, analytics, timer, or live expiry change runs.</p></section>
<style>
  .expiry-notice { display: grid; gap: 10px; max-width: 38rem; border: 1px solid #1d4ed8; padding: 12px; background: #eff6ff; }
  .expiry-notice dl { display: grid; gap: 8px; margin: 0; }
  .expiry-notice dl div { display: grid; grid-template-columns: 8rem 1fr; gap: 8px; }
  .expiry-notice dt { color: #475569; }
  .expiry-notice dd, .check, .note { margin: 0; }
  .badge { border-radius: 999px; background: #dbeafe; padding: 2px 8px; }
  .note { color: #475569; }
</style>
  1. Label the expiry notice.

    The section is labelled by its visible heading.
    The section is labelled by its visible heading.
  2. Show link row.

    The linked item is exact pinned data.
    The linked item is exact pinned data.
  3. Show expiry and reminder rows.

    The expiry date and reminder are exact pinned data.
    The expiry date and reminder are exact pinned data.
  4. Render active-preview status.

    The status badge says this is an active preview.
    The status badge says this is an active preview.
  5. Check expiry readback.

    The check says the expiry preview is visible without running a scheduler.
    The check says the expiry preview is visible without running a scheduler.
  6. Check expiry honesty.

    Link, expiry date, reminder, status, and no live expiry change.
    Link, expiry date, reminder, status, and no live expiry change.
step flow step(1) labels the source, step(2) shows the linked item, step(3) shows expiry and reminder rows, step(4) shows active-preview status, step(5) checks the expiry readback, and step(6) checks the honesty note.
expiry readback The section heading names the link expiry notice surface.
expiry rows Link, Expires, Reminder, and Status values are exact pinned data.
no live expiry change The lesson should not imply expiry schedulers, clock watchers, reminder services, sharing services, storage, routes, APIs, networks, scripts, event listeners, form submits, analytics, timers, or live expiry changes.