{avatar} draws the initials of a name as an inline SVG (tags/_lib/avatar.php) - the picture a user list or a comment shows for someone without a photo. Nothing is fetched or stored: the same name is the same picture on every page and in every e-mail.

The letters are the first letters of the first and last word of the name; a single word gives one letter, and an e-mail address is read by the words before its @, split on dots, dashes and underscores. A name without letters is drawn as ?. The background is one of ten palette colours picked by a SHA-256 hash of the lower-cased name, and the letters are white or near-black, whichever has the higher WCAG contrast on it.

The colours are the custom properties --pad-avatar-1 ... -10 and --pad-avatar-ink-<n> on .pad-avatar, with light-dark() defaults written once per page in a <style> (with the request's nonce when $padCsp asks for one). The SVG is role="img", named by the name or by label.

No name, or a shape other than circle or square, is an error under the strict check. For a pattern that does not reveal the name, see {identicon}; for a person's own picture, {gravatar}.