# Shared view baseline

**Test family:** `VIE`

Apply relevant search, filter, sort, action, and access item files in addition to the view-specific cases.

- **VIE-001** Loading, skeleton, empty-first-use, empty-filtered, populated, partial, stale, error, offline, and retry states are distinct.
- **VIE-002** Visible data, counts, selected state, permissions, and actions agree with detail/API/export.
- **VIE-003** Refresh/back/forward/deep link preserve intended query, selection, expansion, scroll, and view mode.
- **VIE-004** Narrow/wide viewport, zoom, large text, translation, reduced motion, high contrast, and print do not hide the task.
- **VIE-005** Keyboard and screen reader can discover structure, navigate items, operate row/card actions, and hear updates.
- **VIE-006** Large data remains responsive without missing/duplicated/flickering items.
- **VIE-007** Live updates, concurrent edits, deletion, and permission loss do not leave an actionable stale ghost.
- **VIE-008** Sensitive values are redacted consistently in cells/cards/tooltips/labels/URLs/screenshots.

## Comprehensive per-item coverage

- **VIE-009** Render loading, empty, no-results, partial, ordinary, boundary-size, stale, offline, unauthorized, and error states distinctly.
- **VIE-010** Render values containing ASCII emoticons, emoji/ZWJ sequences, kaomoji, accents, mixed scripts, RTL, combining marks, invisible characters, and confusables.
- **VIE-011** Render null, empty, zero, false, unknown enum, deleted relation, long unbroken text, multiline text, media, links, and hostile markup canaries safely.
- **VIE-012** Verify visible rows/items/cards correspond exactly to the active query, filter, sort, group, page, tenant, and permission scope.
- **VIE-013** Change data while loading and while visible; avoid duplicates, omissions, jumping identity, stale totals, and interaction with the wrong item.
- **VIE-014** Select, focus, expand, edit, drag, open, and bulk-act using stable item identity even after reorder, virtualization, refresh, and pagination.
- **VIE-015** Deep-link, bookmark, share, refresh, duplicate tab, navigate back/forward, and restore; preserve only intended state and reject tampering.
- **VIE-016** Use owner, collaborator, restricted role, removed member, anonymous viewer, and another tenant; hidden data must not leak in counts, placeholders, caches, or timing.
- **VIE-017** Navigate and operate entirely by keyboard and screen reader; expose landmarks, headings, names, positions, selection, expansion, sort, errors, and live updates.
- **VIE-018** Test narrow/wide screens, portrait/landscape, 200% text, 400% reflow, high contrast, reduced motion, print, and touch targets.
- **VIE-019** Translate and lengthen text, switch RTL/LTR, locale sorting, number/date/currency formats, and time zone while view state exists.
- **VIE-020** Measure initial, incremental, sort/filter, scroll, selection, resize, and update latency at empty, ordinary, and supported maximum datasets.
- **VIE-021** Verify virtualization preserves focus, accessible position/count, selection, row height, sticky elements, and return position.
- **VIE-022** Retry after timeout, disconnect/reconnect, stale cache, replica lag, and partial response; show data age and never claim a false empty state.
- **VIE-023** Escape markup, URLs, filenames, formulas, and user content for the rendering context; links and actions must target the intended safe resource.
- **VIE-024** Change role, ownership, or record state between render and activation; reauthorize and refresh or reject the action clearly.
- **VIE-025** Export, print, copy, share, and screenshot the active view; preserve scope and formatting without exposing hidden fields or offscreen private data.
- **VIE-026** Verify analytics and audit distinguish viewed, loaded, exposed, selected, and acted-on items without collecting unnecessary content.
- **VIE-027** Save, rename, duplicate, reset, delete, and share view configuration; handle conflicts, invalid fields, schema changes, and revoked recipients.
- **VIE-028** Recover after renderer crash, corrupted saved state, invalid deep link, and unsupported browser capability with a usable default and diagnostic evidence.

[Back to Views and visualizations index](../../views-visualization.md)
