Illustration and imagery
When to use pictures, and how they should look.
Illustrations back up the words in a screen state. Photos and images show content people care about. Both are quiet. They use the same tokens as the rest of Tattva, so they switch between light and dark mode on their own.
Small drawings
Click one to copy its code.
Pictograms
Simple line icons that work at any size.
Empty and error screens
Each kind comes with its own drawing.
Start your first chat
Nothing is here yet. Ask a question or add a file to begin.
Style rules
- One idea per illustration. A spot illustration shows a single idea for an empty, error or celebration screen.
- One-color ink lines on paper or sand. Each piece has at most one lime accent.
- No gradients or glows. No robots, brains, orbs or sparkle mascots. The sources below call these the visual cliché of AI products.
- No detail smaller than 4px in the 160 unit drawing. Fine detail vanishes at 64px.
- Line thickness grows with size: 1.5px at 64, 2px at 96 and 2.5px at 160.
- Every color is a token, so the same art works in light and dark mode.
- Amber stays out of the art. It appears only on the text label when a person must act.
Spot illustrations in three sizes
The left panel uses the current theme. The right panel always uses dark colors, so you can compare both.
Page theme
64px, stroke 1.5px
96px, stroke 2px
160px, stroke 2.5px
Dark tokens
64px, stroke 1.5px
96px, stroke 2px
160px, stroke 2.5px
- empty-chat, two empty speech bubbles
- no-results, a magnifier over a sheet of lines
- error, a sheet with an exclamation badge
- permission, a closed lock
- offline, a plug apart from its socket
- rate-limit, an hourglass
- success, a sheet with a check badge
- upload, a tray with a sheet and an up arrow
- first-run, a dotted path leading to a flag
Pictograms
For small spaces and lists of features. They sit on a 32 unit grid with 1px padding, are drawn as lines and take the text color.
When to use them
- Use illustration to back up the words. The title and body must still make sense without the art.
- Use the existing set first. It covers most cases. Save custom art for major launches.
- Give each illustration one job. Match its name to the state.
- Use neutral art for routine screens. Save emphasis for ones that matter.
- For welcome screens and tours, draw simple interface sketches with basic shapes, sharp corners and mostly gray. Do not use real screenshots. They look like a screen inside a screen.
- Art is never clickable.
When not to use illustration
- In crowded areas such as tables, menus and side panels. Leave the art out, or use one pictogram.
- As decoration with no job. Images that only decorate add nothing.
- Several on one screen. Too many make a screen harder to take in.
- In collage style. It does not belong in a product.
- To show urgency or confusion. The art should be calm.
Empty screens
An empty area is unclear. It could mean loading, an error, or a filter that matched nothing. Say which one it is and give a clear way forward.
Anatomy
- 1Art, optional
- 2A title that names the cause or invites a first step
- 3One line with the next step
- 4One main button
- 5A second button or link, optional
Three kinds
- Nothing here yet, the first visit. Invite a first step with a positive title.
- Caused by the person. No search results, or they finished everything.
- Something is blocking them. Missing permission, a system problem or setup that is needed.
Ready-made versions, live
No results for these filters
Try a shorter search or clear the filters.
Permission and usage limit add an amber label with an icon and text, because a person has to act there. The others stay neutral.
Left aligned and compact
No results for these filters
Try a shorter search or clear the filters.
No open tasks
New tasks will show up as they arrive.
Wording templates
Name the cause in the title and put the next step on the button. Keep words short and free of jargon. Do not send people to another area as the only way out.
| State | Title | Body and button |
|---|---|---|
| First use | Start by adding [thing] | Name the first step. The button does what the title says. |
| No results | No results for [filters or query] | Say the filters caused it. Offer Clear filters. |
| Cleared | Everything here is done | Say what happens next, or that nothing is needed. |
| Error | We could not [do the thing] | Say whether the work is safe. Offer Try again. |
| Permission | You need access to [thing] | Say who can grant it. Offer Request access. |
| Offline | You are offline | Say what still works and that changes will sync. |
| Rate limit | You reached the usage limit | Say when it resets and offer the upgrade. |
Usage
<EmptyState
variant="no-results"
action={<Button variant="secondary">Clear filters</Button>}
/>Images
Each frame holds its space with a fixed shape, so the page does not jump while images load. Images are cropped to fill the frame, and corners use the token radius. Shape, crop, rounding and captions are Tattva's own choices, not a standard.
Shapes
Loading and errors
Pass the image's main color and the placeholder uses it. A 1x1 BlurHash is just the average color. That is enough to hold the space. If the color is unknown, a shimmer shows. It stops when motion is reduced. A failed image shows an icon, a line of text and Retry.
Image could not load
AI-generated images
Put a visible label on the image that people can read. If you know where the image came from, the label opens the details. Adobe Content Credentials does the same in steps: a small mark, then a popup, then the full record. Hidden data that software can read (C2PA or IPTC) is reported as good practice next to the visible label. Check legal requirements with your legal team.
Rules
- Always set a shape. Never let an image size itself.
- Alt text is required. Decorative images get empty alt text.
- Describe what is in the image. Never paste the prompt.
- Give failures a Retry button. Do not leave a blank tile.
- Respect reduced motion: the fade-in and the shimmer stop.
Choosing alt text
Alt text is the words a screen reader reads aloud for an image. These rules follow the W3C alt decision tree.
| Type | When | Alt text |
|---|---|---|
| Decorative | The text beside it says the same thing, or it only adds mood. | Empty alt text. Illustration does this when it has no title. |
| Informative | The image carries meaning the text does not. | A short description of what it means. |
| Functional | The image is a link or button. | Say what it does, not what it looks like. |
| Complex | A chart, a diagram or a map. | Short alt text. Give the full details elsewhere on the page. |
| Image of text | The picture contains words. | Use the same words as alt text. |
What we could not verify
- Atlassian's rules for size, colors, dark mode and alt text are in internal docs.
- The Polaris numbers (226 x 226 px, details rarely below 4px, built-in empty space) come from search snippets, and the Polaris page redirects.
- Carbon's line thickness numbers come from a snippet. Tattva uses its own rule of 1.5 units in the 32 unit artwork, scaled with size.
- We read Material's empty screen advice only as a snippet.
- No main source covers empty screens for AI. We matched them to Carbon's blocked kind, with wording that gives the cause and then the fix.
- We found no authoritative source on frame shapes, cropping, rounding, captions, error fallbacks or galleries.
- The AI labeling advice (a visible label plus C2PA or IPTC data) comes from secondary sources. Legal dates, including EU AI Act Article 50(4) and California SB 942, come from blogs. Check them with your legal team.
- The AI visual cliché and Claude's own look come from opinion pieces and search results, not brand documents.
- We found no source for dark mode or motion rules for illustrations. Tattva builds art from tokens and respects reduced motion.
Sources
- Atlassian: illustrations
- Carbon: contribute pictograms (v10)
- Carbon: empty states pattern
- NN/g: empty state interface design
- Shopify: empty state composition
- Material: empty states
- ThumbHash
- Adobe: Content Authenticity app
- W3C: alt decision tree
- Indie Hackers: the AI purple problem
- Game Changer Labs: avoid generic AI design