Mark Design

Placeholder

The picture that is not there yet. A panel in the brand's soft wash carrying whatever short mark identifies the thing — initials, a number, an icon — so an empty image field reads as deliberate rather than broken.

The empty state

.mk-placeholder

A CMS ships with empty image fields, and every record starts in that state. A theme therefore needs an answer for the gap that is neither a broken-image icon nor a stock photograph standing in for a real person.

Dez Ferrante

Marcus Hale

Junie Park

<div class="mk-placeholder" aria-hidden="true">DF</div>

aria-hidden because the initials are a picture of a name that is already written next to them. A screen reader that announces “D F” before “Dez Ferrante” has been given the same information twice, once badly.


Shape

aspect-ratio · no width of its own

Square by default, because that is what a portrait slot wants. It takes no width of its own — it fills the cell it is handed, so the row's proportion stays the row's to state. That matters more than it sounds: an early version of the roster capped the panel at 13rem to tame an oversized square, the cap landed on the flex item rather than on anything inside it, and that cell collapsed to 208px while the other half silently took about 75 of the row — a row that no longer meant what its modifier said. The band's measure is the honest knob: at a narrower measure the same share comes out at picture size on its own, at every width, and the row keeps stating its own proportion.

A caller that wants another shape sets aspect-ratio and this gets out of the way.


Why not a stock photo

the honest gap

A placeholder photograph asserts something false — that this person looks like that, that this product exists, that the room is that colour. It also repeats: the same face five times down a roster is worse than no face at all, because the reader spends a moment deciding whether it is a mistake.

Initials on a brand ground assert only what is true: there is a picture slot here, it belongs to this record, and nobody has filled it. It differs per record without inventing anything, and it is the one part of the row that does.