Lane Greer

How this site is structured

Every meaningful element on this site carries a few small, stable attributes. They exist so that a screen reader, a test script, or an AI agent can tell what an element is without guessing. This page lists them.

Attributes

data-element
On links and buttons: the notation of what the part is, taken from the published canon at /canon/lwg.canon.json.
data-instance
On links and buttons that repeat: which one of its kind, as listed in the canon.
data-component
On sections, lists, cards and other structure: what kind of element this is, from the list below.
data-id
On the same structural elements: which one of its kind. A stable slug, unique among elements of the same component on a page.
aria-label
On structural elements: the specific name, such as an article's title. Links and buttons carry no aria-label, because their visible text is their name.
data-state
Only on components that load: one of loading, ready, error, expanded, collapsed.
data-role-hint
Marks the kind of action a link or button performs: primary-action, secondary-action, navigation, external-link, download, contact.
data-section, data-position
The region an element sits in, and its 1-based place in a list.

Component types

page
The <main> element of a page. Carries data-page-type and data-page-name.
hero
The introduction at the top of the home page.
section
A named region of a page, such as Projects, Writing, Experience, or Contact.
nav
A group of navigation links.
link
An anchor that navigates, downloads, or opens another site.
button
A control that changes something on the page, such as selecting a cluster.
card
One item in a list: a project, a piece of writing, or a role.
list
A group of cards.
figure
A captioned image or diagram.
visualization
An interactive chart. Its data-state is loading until it has drawn, then ready, or error if it failed to start.
agent-guide
A short note at the start of each page. It is hidden from sighted visitors but present for screen readers and AI agents, and it appears if you tab into it. It points here.

States

loading
Not finished drawing yet. Wait before reading or acting on it.
ready
Finished and safe to read or use.
error
Failed to start. The page still works without it.
expanded
An open region.
collapsed
A closed region.

Click events

Clicks on key links and buttons are counted by a self-hosted, cookie-free analytics tool (GoatCounter) when it is enabled. An event has a name and a title. The name is type/id, where the type is one of nav, exhibit, writing, contact, resume, role, agent. The title is a label followed by key=value details separated by " | ". The tool records no names, accounts, or other identifiers.

What this page does not do

The note at the start of each page is visually hidden. It describes markup only. It does not ask an agent to act, and it does not tell one what to conclude about the site or its author.