Section 508 caption display rules: two lines, 45 characters, burned in

Section508.gov asks for two lines, 45 characters per line, white text on a translucent black box. How each rule maps to Sume's caption design fields.

4 min readSume
All posts

The U.S. government's Section 508 guidance asks for no more than two lines of text at a time, with no more than 45 characters per line, shown in the center of the lower third. Its default is white text on a black translucent background in a sans serif font, with the same colors on every caption. Sume's design object on POST /v1/video-captions has a field for each of these, with one catch: a viewer cannot restyle burned-in text.

The rules below come from the Captions and Transcripts page on Section508.gov, reviewed August 2025 and read 2026-10-03. They are guidance for federal content, but they make a clean checklist for anyone burning captions.

What does Section 508 say about how captions look?

The page's display section lists these points:

  • Use a sans serif font such as Helvetica or Arial; as a default, 18-point text, white on a black translucent background.
  • Use the same caption text and background color for all captions, because people with color blindness cannot see color differences.
  • No more than two lines at a time, with no more than 45 characters per line; fewer is ideal.
  • Center the captions in the lower third of the frame unless that blocks important text such as signs or speaker identifiers.
  • Avoid scrolling, flashing and other distracting animation; the text must stay put long enough to read.

Which Sume fields map to those rules?

A style is a set of design tokens, and design overrides them for one request. Every field is optional and merges over the style's own value. Numbers outside the documented range return a 400 at request time instead of rendering wrong and billing.

Rules from Section508.gov, read 2026-10-03; field names from the Sume video captions docs, read 2026-10-03.
Section 508 guidanceSume fieldSetting to try
45 characters per linedesign.phrasing.max_chars45
Same color on every captiondesign.colors.active equal to design.colors.base#FFFFFF for both, so the spoken word does not change color
White text, translucent black boxdesign.colors.base, design.colors.card#FFFFFF and rgba(0,0,0,0.7)
Lower third, centereddesign.placement.anchor_ratio (line centre as a fraction of frame height)0.85
No distracting animationdesign.motion.enter_seconds, exit_seconds, emphasis_in_seconds, emphasis_out_seconds0 on each
Readable sizedesign.typography.font_size_ratioPick a ratio, then check a frame on a phone

What does a request look like?

Here is a body that applies the table. It uses black-outline, the style the docs use in their own design example. Whether a given style draws a card behind the text depends on the style, so render one test clip and check it before a batch.

{
  "video_url": "https://example.com/clean.mp4",
  "style": "black-outline",
  "design": {
    "colors": {"base": "#FFFFFF", "active": "#FFFFFF",
               "card": "rgba(0,0,0,0.7)"},
    "phrasing": {"max_chars": 45},
    "placement": {"anchor_ratio": 0.85},
    "motion": {"enter_seconds": 0, "exit_seconds": 0,
               "emphasis_in_seconds": 0, "emphasis_out_seconds": 0}
  }
}

What can burned-in captions not do?

The same page says that if a video player lets you customize caption settings, you should let users change font size, color and placement, and write captions so that those changes do not alter their meaning. Burned-in captions fail that point by construction: they are pixels. If you must satisfy it, publish a separate caption track as well, or serve the burned-in version only where a track is impossible.

Two more points transfer directly. Section 508 says speech over about 180 words per minute, an average of 3 words per second, may be too fast for captions, and that on-screen text should stay in the top two-thirds of the frame because players put captions in the lower third. Both are decisions you make before you render.

What does it cost to try?

Each accepted standalone caption job reserves and captures $0.20 for videos up to 60 seconds, under the current fixed estimate; confirm live pricing in GET /v1/catalog. Because the design fields fail fast with a 400, a wrong range does not bill.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume