No filming:An AI avatar or clone yourself
    Guides

    Caption colour and contrast

    Stroke and boxes beat brand hex. WCAG 4.5:1 is a check, not a law. Preview the look on this footage.

    Versely Team••8 min read

    Stroke and boxes beat a brand hex. WCAG 4.5:1 is a check you run on this footage, not a law that makes yellow-on-white legal because a slide said AA. Preview the caption on the actual plate. The picker is a lie.

    Caption Studio's nine families already encode the contrast strategies that survive video: a black stroke on white type (Classic, Snap, Reveal, Hype, Headline, Signature), a white ring on black type (Halo), a solid or sheer card (Paper, Ink). Colour is a variant inside those strategies — Classic Yellow, Snap Gold, Paper Cream — not a replacement for them. Dropping the stroke to "match the brand guidelines" is how a sage-green sentence disappears over a sage product.

    Stroke, then box, then colour

    Video is a moving background. Contrast is not "our teal versus white in Figma." It is each glyph versus the pixels behind it for the length of the cue.

    Stroke (outline). Classic is white fill, black outline, 1px, TikTok Sans. The outline is a 1-pixel halo of guaranteed dark against whatever the plate does. Halo flips it: black fill, white ring, Poppins Bold, for plates that are already light. Hype keeps white fill and paints the stroke red, blue, green, purple, or black. The stroke still has to be dark or saturated enough to bound the glyph. A yellow stroke on white fill on a window is two lights.

    Box (card). Paper is black Montserrat on a white rounded card. Ink is white Inter on a black card. The card is the contrast. You stop betting on the footage. You also cover the footage. Sheer variants (Paper Sheer at 88%, Ink Sheer at 70%) are a compromise: some plate shows through, some contrast leaks away. Use sheer when a solid card hides a face or a pack label, then check the worst frame, not the average.

    Colour. Variants change the fill, the stroke, or the card: Classic Mint, Halo Yellow, Signature Gold, Snap Cyan. Colour is a highlighter. It is not a contrast strategy. Gold (#FFD700) on a sunlit street needs the black stroke it ships with. Take the stroke off and you have a yellow line on a yellow cab.

    Order of operations: pick stroke or box so the line exists, then pick a colour so the line belongs to the series. The inverse — pick the brand colour, then hope — is the failure.

    Brand hex as fill is allowed when the stroke or card still does the physics. Classic Navy is white fill, navy stroke: the white still reads, the navy is personality. Hype Black is the energy family with a neutral stroke, for when red was the problem.

    WCAG as a check

    WCAG 2.2 Success Criterion 1.4.3 Contrast (Minimum) (Level AA) asks for a contrast ratio of at least 4.5:1 between text and its background, or 3:1 for large-scale text (18pt / 14pt bold). Level AAA (1.4.6) raises those to 7:1 and 4.5:1. The ratio is (L1 + 0.05) / (L2 + 0.05) on relative luminance. Those numbers have been stable since WCAG 2.0; 2.2 did not rewrite them.

    That criterion is a check, not a caption spec.

    It assumes a background you can name. A caption over video does not have one background. Technique G18 is explicit: if the background varies, shade behind the letters so each glyph keeps 4.5:1 against the pixels immediately behind it. That sentence is the argument for a card or a stroke. Measuring your brand teal against a mid-grey rectangle in a contrast checker and then burning teal on a beach is not G18.

    Burned-in captions are images of text. They count. A closed-caption player that lets the viewer pick a black box can pass 1.4.3 in the player. Your TikTok cannot; the viewer cannot restyle pixels. Short-form therefore has a harder contrast job than a YouTube watch-page track.

    WCAG 1.4.3 also exempts incidental text and logotypes. Your hook line is not a logo. Do not hide a low-contrast CTA behind that exemption.

    Large-text relief (3:1) tempts people to "just make it bigger." At 9:16, bigger collides with chrome and faces. A card at 4.5:1 in a readable size is usually cleaner than a giant pale word at 3:1 on the mouth.

    Use a checker on a frame grab of the worst plate: white shirt, window, sand, snow, a light UI. Sample the fill against that patch, then the fill-plus-stroke as it actually renders. If it fails, you do not negotiate with the number. You add a stroke or a card.

    For government and course work, treat 4.5:1 on the card as the bar. For a muted feed, treat "I can finish the line on this phone in this lighting" as the bar, and use 4.5:1 to explain a fail you can already see.

    Preview on this footage

    The style chip is a grey or black card in a UI. Your clip is not.

    preview_caption_style renders the first seconds of this video in the candidate look. That is the cheap contrast test. Full-captioning three looks to pick one is how 2× dynamic bills become a mood board.

    Check, on the preview:

    • A light frame (sky, wall, shirt, product). Does Classic's white fill hold, or do you need Halo / Ink / Paper?
    • A dark frame. Does Ink's black card melt into the plate? Do you need Paper or Classic?
    • A saturated frame (red set, green turf). Does Hype's coloured stroke vanish into the set colour? Switch the stroke variant.
    • Motion. A stroke that holds on a still grab can strobe on handheld. If the outline crawls, the plate is too similar to the stroke; change family, not opacity.

    Caption Studio positions are top, middle, bottom. Contrast and placement interact. A Classic line that fails on a white counter may pass if you raise it onto a darker hoodie. Moving the block is a contrast fix. It is also a chrome fix. Do both on the preview, not after 20 clips.

    Sheer cards need a worst-frame test. 70% black over a white browser window is grey text on white. That can fail 4.5:1 even though Ink on solid black would pass 21:1. Sheer is not "Ink but nicer." It is a different ratio on every frame.

    Dynamic VEED looks (2× credits) animate fill and motion. Animation does not add contrast. A whisper-thin look that moved is still thin. If the preview fails contrast, a 2× render will fail faster, on beat.

    Family defaults that already survive

    You do not need a custom palette to pass the check.

    • Talking-head, mixed wardrobe: Classic (white + black stroke). Yellow variant if you need a highlighter on keywords only.
    • Busy street / shop / foliage: Halo or Paper. Halo if you must see the plate; Paper if a missed word is the bigger risk.
    • Night, black product, cinema B-roll: Ink. Navy card if black-on-black melts.
    • Light UI / screen recording: Classic Top or a letterbox; Paper only off the lesson.
    • Timed hook: Snap or Reveal, which already ship a black stroke on white Anton / TikTok Sans. Mono variants drop the colour accent and keep the stroke — use them when the plate is already loud.

    The caption styles catalog is the map. The AI caption generator burns the pick. 21 basic VEED looks at 1× credits, 9 dynamic at 2×; do not pay 2× to solve a contrast problem a card would solve at 1×.

    Burned-in captions freeze the ratio into the file. A viewer with low vision cannot apply a high-contrast subtitle theme on a Reel. Your preview is their only setting. Run it on this footage.

    If the brand book and the plate fight, the plate wins for the transcript. Put the brand hex on the authored hook, on a card, for two seconds. Let the speech sit in Classic. Two colours in one clip is allowed. Invisible speech is not.

    Preview the next cut in Versely.

    FAQ

    Does yellow text pass WCAG on a white wall?

    Not without a dark stroke or a card. Classic Yellow still ships a black outline; keep it. A naked yellow fill on plaster will fail a checker and a phone.

    Is a black card always enough?

    Against white type, yes, at 21:1. Against the picture, the card covers what you came to show. If the pack label matters, move the card or use a stroke family.

    Can I use brand colours for all captions?

    As the accent, with a stroke or a box doing the contrast, yes. As the only difference between type and plate, no. Check a worst frame, not the logo sheet.