# Design report: figma.com

- Score: 77.8 / 100, grade C
- Scanned: 2026-10-24T04:53:49.262Z
- Pages: https://figma.com/, https://www.figma.com/design-explore/ (not scanned: incomplete capture), https://www.figma.com/build-ship/ (not scanned: time limit)
- Checks: 3 failed, 2 warnings, 13 passed, 9 excluded
- Report: https://is-aesthetic.com/r/figma.com

## Tiers

- Essential: 77.8 of 100 points (18 evaluated, 428 excluded)
- Recommended: 0 of 0 points (0 evaluated, 73 excluded)
- Bonus: 0 of 5 points (0 evaluated, 14 excluded)

## Domains

- Visual communication: 83
- Information and findability: 100
- Functional and interaction support: 50
- Inclusion and adaptation: 70
- Visual expression: 100
- Transparency and agency: not measured

## What to fix

### Essential

#### Fail: Hidden things stay hidden (C141.2)

- Domain: Inclusion and adaptation
- Checks: Content hidden from screen readers must not contain links or buttons that still take focus.
- Measured on www.figma.com/: 9 focusable elements in hidden content
- Passes at: Hidden and presentational elements do not conflict with focus or accessibility semantics
- Fails at: Hidden content remains focusable, or presentation semantics conflict with an accessible role or name
- Fix: Remove aria-hidden from containers that hold focusable controls, or make those controls unfocusable while hidden (the inert attribute does both).
- Elements:
  - 1440 px · `html > body > div:nth-of-type(2) > main > section:nth-of-type(7) > div > div:nth-of-type(2) > div:nth-of-type(2) > div > div > div:nth-of-type(10)`
  - 1440 px · `html > body > div:nth-of-type(2) > main > section:nth-of-type(7) > div > div:nth-of-type(2) > div:nth-of-type(2) > div > div > div:nth-of-type(2)` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2Fe277c390-7b21-457d-a414-9a4b77383477%2Fpage-0%2Fcrop-1440-1.webp)
  - 1440 px · `html > body > div:nth-of-type(2) > main > section:nth-of-type(7) > div > div:nth-of-type(2) > div:nth-of-type(2) > div > div > div:nth-of-type(3)` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2Fe277c390-7b21-457d-a414-9a4b77383477%2Fpage-0%2Fcrop-1440-2.webp)

#### Fail: Names include the visible label (C160.2)

- Domain: Inclusion and adaptation
- Checks: A control's accessible name should contain the words people see on it.
- Measured on www.figma.com/: 1 name missing its visible label
- Passes at: A control’s accessible name contains its visible label
- Fails at: A control’s accessible name omits its visible label
- Fix: Start the aria-label with the visible text, or remove the aria-label so the visible text becomes the name. Voice-control users say what they see.
- Elements:
  - 1440 px · `#main` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2Fe277c390-7b21-457d-a414-9a4b77383477%2Fpage-0%2Fcrop-1440-0.webp)

#### Fail: Live regions are scoped (C170.2)

- Domain: Inclusion and adaptation
- Checks: Live regions must be valid and small, never the whole page.
- Measured on www.figma.com/: 1 faulty live region
- Passes at: Live regions use valid values and a bounded scope
- Fails at: A live-region attribute is invalid, the region is page-level, or its area exceeds half the viewport
- Fix: Put aria-live on the small element that holds the status message, not on body or main, and use a valid value such as polite.
- Elements:
  - 1440 px · `#_R_1an4lubsodqivb_`

#### Warning: Supporting text steps back (C006.1)

- Domain: Visual communication
- Checks: Captions, hints and footnotes should look quieter than the text they support: smaller, lighter or muted.
- Measured on www.figma.com/: 3 supporting texts that don't step back
- Passes at: Supporting text has a quieter cue and no stronger visual cue
- Warning at: One or two supporting items have no clear hierarchy cue
- Fails at: A supporting item looks stronger, or at least three have no hierarchy cue
- Fix: Make supporting text at least one step quieter than its primary text: about 0.9× the size, 100 lighter in weight, or a muted colour that still meets 4.5:1 contrast. Never make it larger or bolder than what it supports.
- Elements:
  - 320 px · `html > body > div:nth-of-type(2) > main > section:nth-of-type(6) > div > div > div:nth-of-type(2) > div:nth-of-type(1) > figure > div > figcaption`
  - 390 px · `html > body > div:nth-of-type(2) > main > section:nth-of-type(6) > div > div > div:nth-of-type(2) > div:nth-of-type(1) > figure > div > figcaption`
  - 1440 px · `html > body > div:nth-of-type(2) > main > section:nth-of-type(6) > div > div > div:nth-of-type(2) > div:nth-of-type(1) > figure > div > figcaption`

#### Warning: Controls are labelled on screen (C108.1)

- Domain: Functional and interaction support
- Checks: Fields need visible labels, and icon-only buttons should be few and use familiar icons.
- Measured on www.figma.com/: 7 controls without a visible label
- Passes at: Fields are visibly identified and standalone icon controls are clear
- Warning at: A nonstandard standalone icon control needs a label
- Fails at: A field has no visible label after the documented search-field exceptions
- Fix: Give every field a visible label, since placeholders vanish while typing. Add text to icon-only buttons, or keep them to familiar icons (search, close, menu) with an accessible name and a tooltip.
- Elements:
  - 1440 px · `html > body > div:nth-of-type(2) > div:nth-of-type(1) > header > div > div > div > a` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2Fe277c390-7b21-457d-a414-9a4b77383477%2Fpage-0%2Fcrop-1440-1000.webp)
  - 1440 px · `html > body > div:nth-of-type(2) > footer > div > div:nth-of-type(1) > a`
  - 1440 px · `html > body > div:nth-of-type(2) > footer > div > div:nth-of-type(1) > div > ul > li:nth-of-type(1) > a`

## Passed

- Repeated parts look the same (C014.1)
- Nothing overlaps (C019.1)
- Dates aren't stale (C060.1)
- Headings are distinct (C073.2)
- Same link text, same place (C078.3)
- Images have alt text (C139.1)
- Targets are big enough (C158)
- Every control has a name (C160.1)
- Headings use heading tags (C167.1)
- Heading levels are in order (C167.2)
- Data tables use table tags (C167.5)
- Code order matches the screen (C168.1)
- Crops keep the subject (C194.1)

## Excluded

- Links don't rely on colour (C031.1): Required inputs unavailable: states
- Paragraphs stay short (C074.1): Unresolved inputs or thresholds: 1
- Current page is marked (C077.1): Measurement unavailable: 'NoneType' object has no attribute 'startswith'
- C123.2 (C123.2): Required inputs unavailable: form-submit, owned or design-bench page
- Tab order follows the page (C154.2): Required inputs unavailable: keyboard
- Works at 320 px wide (C173): Required inputs unavailable: interaction
- Notices can be dismissed (CAR-14.1): No informational banners or toasts on this page.
- Required fields are marked (C112.1): Required inputs unavailable: forms, table/chart/form
- Format rules are shown (C112.2): Required inputs unavailable: forms, table/chart/form

## What this doesn't cover

- Aesthetic judgment, brand intent and designer calibration
- Text contrast is not measured yet (the vetted contrast rules are not implemented in this pin)
- Briefs, specifications, logins and declared design systems
- Form submissions, transactions and activated task flows
- Closed shadow roots, cross-origin frame contents and other themes
- Rules without a vetted implementation or required measurement
- Pages or assets refused by robots.txt or the scan limits

Methodology: https://is-aesthetic.com/methodology
