Patterns
Multi-element behaviours: search input, view toggle, filter chips, empty / error states, sticky sidebar.
Search input (landing hero)
Distinctive composite control on the landing page: search icon + input + submit button, all inside a single bordered wrapper that highlights on focus-within.
View toggle (Gallery / List / Map)
Always present on results pages regardless of result composition. URL captures the current view.
Filter chips (active filters)
Active filter representation on search-result pages. Each chip has a remove button with a
clear aria-label.
Empty states
Typographic, calm, action-oriented. Never illustrations. Never patronising microcopy.
Get started: download the template
Once you've filled the template from your existing data and uploaded it, your collection appears here.
No specimens match your filters.
Try removing one or more filters, or browse all 12,800 published records.
Clear all filters →Error states (page-level)
Calm, informative, museum-register on public surfaces. Semantic HTTP status codes returned by the server.
404 — never existed
No specimen here
The record you're looking for doesn't exist. It may have been moved or never existed.
Search specimens →410 — withdrawn (PID still valid)
Withdrawal is not deletion. The persistent identifier remains valid; the public view is just unavailable.
This record has been withdrawn
The persistent identifier
handle:geoda/specimen/abc123
remains valid but the record is not currently published. Contact
Pia Stieger · SCNAT Portal Admin
for details.
Sticky right sidebar
Specimen / institution / collection detail layout. Sidebar pins on lg+, renders
at natural height (no inner-scroll), collapses below the main column on md and smaller.