---
title: "A11Y Screen Reader"
method: GET
path: "/v1/projects/{project_id}/a11y/screen-reader"
tags: ["a11y"]
---

# A11Y Screen Reader

`GET /v1/projects/{project_id}/a11y/screen-reader`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/projects/{project_id}/a11y/screen-reader`
- Auth: none declared

Screen-reader (sr-only) coverage per language (spec §4.4).

Eligible = keys whose type offers the `screen_reader` treatment (text,
heading, label, caption, button, link, menu_item, tooltip, badge,
error_message, toast). Present = non-empty `screen_reader` override.

OPTIONAL ENRICHMENT, NOT A BACKLOG (task 1831). Nothing in WCAG requires an
sr-only text per key: for all eleven eligible types the accessible content is
the visible text itself, and an override only ADDS verbosity where a human
decided it helps. So `applied` (sr-only text actually written, source language)
is the honest number and belongs on the DONE side; `pct`/`present_cells`/
`by_language` are CONTEXT over the pool that CAN carry one; and
`suggestions_count` is DEPRECATED — "eligible without an override" is a
potential, not work. **No work queue is computable here**: there is no defect
signal for a missing sr-only override, and WCAG 2.4.4 ambiguous-text detection
is a separate product decision that is deliberately NOT approximated.

## Path parameters

- `project_id` string, required

## Query parameters

- `version_id` string, nullable

## Response `200`

Successful Response

- A11yScreenReaderOut
  - `project_uuid` string, required
  - `version_uuid` string, nullable, required
  - `languages` string[], required
  - `source_language` string, nullable, required
  - `eligible_keys` integer, required
  - `eligible_cells` integer, required
  - `present_cells` integer, required
  - `pct` integer, required
  - `measured` boolean, required
  - `by_language` A11yLangRow[], required
    - `code` string, required
    - `eligible` integer, required
    - `present` integer, required
    - `pct` integer, required
    - `is_source` boolean
  - `formula` object, required
  - `surface` string, required
  - `key_types` string[], required
  - `suggestions_count` integer, required
  - `applied` integer

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sonenta/apis/sonenta-api.md) · [All operations](https://skmtc.dev/sonenta/apis/sonenta-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sonenta/apis/sonenta-api/revisions/f853ea49fb05?raw)
