Quanta

← Back to Briefings

Alt Text at 2 Million Assets: Rolling Out Gemini 3.8 Flash

Team playbooksEN5 reads

01 · What a two-million-image backlog exposed

Our content surface is large and uneven: a public help center, a product interface full of screenshots, internal runbooks, annotated diagrams, status dashboards, charts embedded in postmortems, and photographs in onboarding material. The image count passed the two million mark long before anyone wrote a serious accessibility policy. The consequences were predictable and costly. Screen reader users met placeholders that described nothing. Keyboard users could not reach captions that had never been written. Support agents improvised descriptions inside tickets, and those improvisations contradicted the documentation.

We settled on a division of labor: generated alt text carries the backlog, and human editors spend their attention on the small share of images where a mistake is expensive. That split only works when a team is honest about which images are cheap and which are not. A decorative spacer, a repeated logo, a straightforward product screenshot, those are cheap. A dosage table flattened into a screenshot, a chart that encodes an operational decision, a security dialog, those are not.

The second lesson was procedural. Accessibility work fails when it is treated as a content chore and succeeds when it is treated as a pipeline. Generation, validation, review queues, release gates and measurement belong in one system with owners, budgets and rollback paths. A model can describe a picture in a second, but it cannot decide who is accountable when the description is wrong.

02 · Where generated alt text still fails screen reader users

Language models are fluent and fast at describing images, which is exactly why their failure modes are easy to ship unnoticed. The failures we hit most often were not gibberish. They were plausible, well-written descriptions of the wrong thing, which is far more dangerous than an empty string.

  • › Function before appearance. If the image is a control, describe what it does. A submit button described as a blue rounded rectangle technically matches the pixels and helps nobody.
  • › Meaning before pixels. For charts and dashboards, the alt text should state the trend, the threshold crossed, or the outlier, not the colour palette. Leave the underlying numbers to a caption or an adjacent table.
  • › Refuse to guess. If a model cannot read a value in an image, it should say the value is unreadable rather than infer one. We make unverifiable specifics a hard failure in review.
  • › Length discipline. Short for decorative and simple informative images, longer only when the image genuinely carries data. Bloated alt text forces screen reader users to wade through narration to reach the next paragraph.
  • › Text baked into images. When a screenshot contains readable interface text, the description must cover what that text communicates, including warnings, error states and disabled controls.

Turn these rules into written evaluation criteria. A model that sees your style guide on every call behaves far more consistently than one asked generically to write alt text.

03 · Summaries that preserve numbers, limits and failure modes

Summaries are the accessibility feature teams most often skip, and they matter as much as alt text. Long release notes, incident writeups, migration guides and runbooks are hostile to screen reader navigation and to anyone who reads in short sessions. A summary at the top of a document is a ramp into the material.

The standard we apply is specific. Lead with who is affected and what changes. Preserve every number, threshold, limit and date exactly as written, because a summary that rounds or omits a quota is worse than no summary at all. Name the failure mode and the mitigation in plain terms. Avoid hedging language such as significant improvements or several issues, which tells a reader nothing actionable. Where a document serves two audiences, publish two summaries, a short one for scanning and a fuller one that carries the operational detail.

Model choice matters here. High-volume, low-risk description work suits a fast, inexpensive model such as Gemini 3.8 Flash. Documents whose summaries carry operational meaning deserve something with more judgment, such as Claude Sonnet 5.5. The split is about risk, not prestige.

04 · Review queues, confidence thresholds and regression sets

Human review is the expensive part of an accessibility program, so route it deliberately. Triage by content type first and confidence second. Decorative and simple informative images can be sampled. Charts, medical or financial material, legal notices, anything that appears in a support workflow and anything a reader might act on goes to a named reviewer every time.

Keep a golden set of a few hundred items covering your worst cases, with reference descriptions written by your own editors. Run it before every model change, every prompt change and every pipeline change. This catches the quiet regressions that automated linting cannot see, such as descriptions that start ignoring dialog states or that begin opening with the phrase image of, which screen readers already announce.

Measure outcomes rather than activity. Track correction rates per image type, the share of items escalated to humans, and the time your editors spend per accepted description. Test with real assistive technology on a schedule. Automated checkers confirm structure; only a person using a screen reader confirms that a document actually makes sense in sequence.

05 · Metering generated text at sustained volume

Accessibility generation scales with your content library. Every new screenshot and every revised document reopens the cost question, so budget for the steady state rather than the first migration. Keep prompts, style guides and vocabulary stable so that context caching does real work, and monitor prompt and completion token classes separately before you optimize anything.

The infrastructure choice matters as much as the model choice. Quanta is a pay-as-you-go API relay built for exactly this traffic shape. One balance covers Claude, GPT, Gemini, DeepSeek, Kimi, GLM, Qwen, Grok and other models, so an accessibility pipeline can use several models without several contracts or billing cycles. It works with Claude Code, Codex, Gemini CLI and any OpenAI SDK, so you can attach it to an existing batch job instead of rewriting it. Every call is metered on real tokens, with cache writes and cache reads priced separately, which rewards the obvious optimization of letting the cache carry your stable instructions instead of paying for them again on every image. Teams with sustained volume can also point peer teams at the same relay and earn 19% of their top-ups.

Start with one content type, measure correction rates for two weeks, then widen the pipeline behind a release gate. Open an account, point your existing SDK at the relay, and run the accessibility workload on a single balance while your editors focus on the images that genuinely need them.