How to use the editor
Automation does the heavy lifting — auto-tagging, reading order, alt text, OCR — then validates against PDF/UA. The editor is where you make the judgment calls: alt-text nuance, tricky tables, reading-order decisions. This guide walks the full loop — open, edit, verify, apply — plus the tagging reference your auditor will cite.
What's a “tag,” anyway? A tag is an invisible label on a piece of content — <H1> for a top heading, <Table> for a table, <Figure> for an image. Screen readers don't see your layout; they walk the tag tree, in order, and announce what each tag claims to be. Tagging a document correctly is what makes it accessible — and it's what WCAG 2.1, PDF/UA-1 and Section 508 audit. Prefer print? Download this guide as a PDF →
1 · Open a document
From the Tag editor page you have two ways in: drop any PDF on the upload panel (it opens in the editor immediately — we run a free compliance check in the background so you have a baseline), or open a document you've already processed from the list below it.
If the file already has tags
You'll see one question the moment it opens: Keep them (recommended) — the right call for files our automation already remediated, or files tagged in another tool that mostly got it right — or Rebuild from scratch, for when the existing tags are junk (auto-generated by a scanner or an old export). That's the only pop-up you'll meet; starting over never opens a second quiz.
If the file has no tags
Untagged files are auto-drafted: the editor reads the text layer column-by-column, guesses headings from font size, and builds a starter structure. Treat it as a draft, not a verdict — expect to review every role and check the reading order.
Your work saves itself — with version history
- Every edit is saved locally in your browser instantly.
- Sessions sync to your workspace cloud — watch for “✓ saved to cloud” in the status bar.
- Reopen the document later on any machine and the editor offers to resume exactly where you left off.
- The History button (top right) lists snapshots of your tag structure: one is saved automatically before every Apply, and you can save one manually any time. Restore any snapshot from the last 30 days — restoring saves your current state first, so nothing is ever lost.
2 · The three panels
- Left — Tag structure: the tree a screen reader walks, top to bottom. Tree order is reading order. Colored dots flag tags with errors (red) or warnings (amber).
- Center — the live page: click any content to select its tag; click a tag to highlight its content in pink. Right-click either side for the full action menu.
- Right — Properties edits the selected tag, Issues lists validation findings (click one to jump to it), Reader previews what a screen reader says, Rules guide is the built-in rulebook.
Don't skip the header bar. Document Title and Language sit at the top for a reason — they're the two most common instant-fail checks in any audit. Set the title to something human (“2025 Annual Report”, not “final_v3_FINAL”), and the language to the document's primary language, e.g. en-US.
3 · Edit the structure
Change what something is
Select a tag and pick a new type in Properties → Tag type, or right-click for quick chips (P, H1, H2, Figure, Caption, Artifact and the full set). Fastest of all is the keyboard: 1–6 retypes the selection to H1–H6; P, F, A, C, S, T retype to Paragraph, Figure, Artifact, Caption, Sect and Table.
Reorder & re-nest — the tree order IS the reading order
Move tags with the ↑/↓ buttons (or Alt+↑/↓), promote and demote with ⇤/⇥, or simply drag a tag and drop it before, after, or into another — the drop zone highlights as you hover. Multi-select with Shift-click (range) or Ctrl-click (toggle) to move whole groups at once.
Split & merge
Auto-drafts sometimes glue two paragraphs into one tag, or shatter one paragraph into five. Right-click a paragraph → “Split into N lines” / “Split at this line”, or take the ✂ tool and click exactly where the break belongs. To merge, Ctrl-click the fragments and press Ctrl+M — or drag across them with the ⧉ merge tool.
Split into words — for anything a line split can't separate
Some documents run a bold lead-in and its paragraph together on one line (“Budget visibility. The department operates…”). Right-click the tag → “Split into words”: every word becomes its own tag carrying its true position on the page. Ctrl-click the words that belong together and press Ctrl+M — the lead-in becomes its own tag claiming exactly its own text (press 1–6 to make it a heading), and the rest merges back into the paragraph. Nothing ever claims text it doesn't cover.
The canvas tools
- ⬚ Select — click a tag; drag a region to open the region menu (tag it as Figure, Artifact, or claim the words inside as a text tag).
- 🖼 Figure tool — drag a region, tagged as Figure instantly.
- 🅐 Artifact tool — drag a region, marked decorative instantly.
- ✂ Split tool — click inside a paragraph to split at that line.
- ⧉ Merge tool — drag across tags to merge; or click several, then Enter.
Boxing a region
With the select tool, dragging a box on the page opens the region menu. “As text <P>” claims the actual words inside the box into a new paragraph tag — the go-to move on OCR'd pages. If the region sits inside a tag that already covers it (a whole-page Figure from a scan, say), the menu says so and offers to break it up, so you can carve one big tag into real structure piece by piece.
The 🧹 sweeper — fastest first cleanup
The sweeper scans the whole document for repeated headers, footers and page numbers and artifacts them all in one confirmable step. On a long document, run it first — it routinely clears dozens of issues in one click.
auto-fix
With auto-fix on (the checkbox above the tree), dropping stray tags into a <Table> or <L> wraps them into proper <TR>/<TD> or <LI> structure automatically. “Conform children” in the right-click menu does the same for an entire container in one go.
Relax — everything is undoable. Ctrl+Z gives you 60 levels of undo, including bulk actions like the sweeper.
4 · The Properties panel
Whatever you select, Properties shows exactly the fields that matter for that role — and tells you what the standard expects. A Figure puts alt text front and center; a TH surfaces Scope and spans.
Text in this tag — read it, fix it
Select any tag and Properties pulls the full text from inside it — the words on the page, not a trimmed snippet. Leave it as-is and the page text is used unchanged. Edit it — fix an OCR mistake, correct wording — and your version is stored as the tag's Actual text: exactly what a screen reader says after you apply. Put it back to match the page and the override clears itself.
Form fields — see them, describe them, place them
Every fillable field shows as a blue clickable box on the page (green with a ✓ once described). Click a field: it links into the tree as a <Form> tag at its spot in the reading order, and Properties opens straight into the Field tooltip — what a screen reader announces when someone lands in the field. Write “Enter your full legal name”, not “Text1”. Drag the Form tag in the tree if the field belongs elsewhere in the reading order; on Apply, the tooltip is written into the PDF field itself and your order ships.
The fields, in plain English
- Tag type (role) — what this content is. Changing it here is identical to retyping via keyboard or right-click.
- Alternative text — what a screen reader speaks for a Figure. Required on every Figure (PDF/UA 7.3). Describe meaning, not appearance.
- Text in this tag / Actual text — replacement text read aloud when the visual text differs from what should be spoken: OCR fixes, stylized dropcaps, ligature quirks.
- Language override — set only when this element's language differs from the document's; a French quotation inside an English report gets fr-FR.
- Header scope (TH) — Column, Row, or Both: which cells this header governs.
- ColSpan / RowSpan (TH/TD) — how many columns/rows a merged cell covers. Must match the visual table.
5 · Issues, Run checks & the Reader
The Issues tab
Two things live here: a headings outline of the whole document (a quick sanity check that your H1→H2→H3 story makes sense), and the validation findings — veraPDF/PAC-style results translated into plain English, each citing the exact clause your auditor would (Matterhorn, PDF/UA, WCAG). Click any issue to jump straight to the offending tag. Fix it, move to the next.
Run checks
Re-validates the document against ~25 PDF/UA & PAC-style rules — heading order, missing alt, table headers, list structure, empty tags and more. Run it after every meaningful editing pass; the status bar keeps a live count (“7 errors · 13 warnings”).
The Reader tab — hear your document
Reader is a screen-reader simulation: a linear preview of exactly what assistive tech will announce, with real speech (▶ Read aloud) and NVDA-style navigation — ↓/↑ move item by item, H next heading, 1–6 heading by level, G graphic, T table, L list, K link. Artifacts are skipped, exactly as a real screen reader would skip them. If it reads wrong here, it reads wrong for your users.
A passing checker is necessary, not sufficient. Automated rules can verify that alt text exists — not that it's true. Before signing off on a document, do one full pass in the Reader tab, and ideally one in a real screen reader like NVDA.
6 · How things should be tagged — the reference
The judgment-call reference: for each kind of content, what correct tagging looks like, and the mistakes we see most. Everything here is also in the editor's Rules guide tab, one click from where you're working.
Headings — the document's skeleton
✓ CORRECT ✗ WRONG
<H1> Annual Report <P bold 18pt> Annual Report ← styled, not tagged
<H2> 1. Financials <H3> 1. Financials ← skips H1→H3
<H3> 1.1 Revenue <H1> 1.1 Revenue ← level ≠ importance
<H2> 2. Operations- One <H1> for the document title; start the hierarchy there and never skip levels downward (H1→H2→H3…).
- If it looks like a heading but is tagged <P>, screen-reader users can't navigate to it — retype it (1–6).
- Pick the level by position in the outline, not by how big the font is.
- Sanity-check the whole outline in Issues → Headings outline.
Paragraphs, spans & inline content
- Body text is <P>. Bold/italic runs inside it usually need no tag of their own (<Span> is fine, and harmless).
- A quotation set off from the text is <BlockQuote>; a quotation inside a sentence is <Quote>.
- Foreign-language runs get a Language override on their span — « la qualité avant tout » in an English report should be read with French pronunciation, not mangled.
- One visual paragraph = one <P>. Auto-drafts sometimes split at line breaks (merge: Ctrl+M) or glue columns together (split: ✂).
Reading order — the tree top-to-bottom
- The tag tree is the reading order. If the tree says caption-before-figure, that's what gets read.
- Multi-column pages: the order must run all the way down column one, then start column two. Geometric top-to-bottom interleaving is the classic failure — check these pages in the Reader tab.
- Sidebars and pull-quotes go where they make sense in the story, not where they sit on the page.
- Fix order by dragging tags in the tree or with Alt+↑/↓.
Figures, alt text & artifacts
Every image is one of exactly two things. It carries meaning → <Figure> + alt text (charts, photos, diagrams, logos that identify the sender — the alt text is what a screen-reader user gets instead of the image, and it's required, PDF/UA 7.3). Or it's decoration → Artifact (divider flourishes, background textures, watermarks, repeated page furniture — skipped entirely by assistive tech, which is exactly what you want; no alt text needed, ever).
✓ SAYS WHAT THE IMAGE MEANS ✗ SAYS WHAT IT LOOKS LIKE "Bar chart: revenue grew each "Chart." quarter of 2025, from $4.2M in Q1 "Blue bar graph image, 700 by to $8.3M in Q4." 450 pixels, chart.png"
- Ask the editor's own question: what would a sighted reader learn from this image? Write that. If the answer is “nothing,” it's an Artifact — retype it (A) instead of writing alt text.
- Keep it to a sentence or two. Put long descriptions (complex diagrams, formulas) in nearby body text and reference them.
- Don't start with “Image of…” — the screen reader already announces it as a graphic.
- A chart's alt text should state the takeaway (“costs fell 12%”), not enumerate every data point.
- If a <Caption> already tells the story, the alt text can be brief — don't read the same sentence twice.
- Scanned or image-only pages: when the editor detects no usable text layer (missing, or present with broken coordinates from bad OCR), a banner appears with “Redraft text with OCR” — one click rebuilds the text layer server-side with real coordinates and reloads the document, so region boxes claim real words. Your original file is never modified. For a page that's genuinely an exhibit, tag the page image as a <Figure> whose alt text summarizes the content.
Tables
A screen-reader user hears a table one cell at a time — “row 3, column 2: 4,900.” The only thing connecting that number to “Spectrometers, FY 2025, Units” is your header structure.
✓ CORRECT ✗ WRONG
<Table> <Table>
<TR> <TH scope=Column> Region <TR> <TD bold> Region ← header styled
<TH scope=Column> Manager <TD bold> Manager as data
<TR> <TD> Mountain West <P> Mountain West D. Okafor
<TD> D. Okafor ← "table" faked with tabs- Header cells are <TH>, data cells are <TD> — visual bolding doesn't count.
- Every TH needs a Scope — Column for the header row across the top, Row for row headers down the left, Both when it governs both (Matterhorn 15-005).
- Merged cells must declare their size: a header spanning two columns gets ColSpan 2. The numbers must match the visual table exactly.
- Only data gets a Table tag. Content merely arranged in a grid (a form layout, a photo wall) should not be a Table.
- Give the table a <Caption> when one exists on the page, as the first child of the Table.
- Finish in the Reader tab: press T to jump to the table and arrow through a few cells — the headers should be announced with each data cell.
Lists, links, footnotes & forms
✓ THE LIST PATTERN
<L>
<LI> <Lbl> 1.
<LBody> First item…
<LI> <Lbl> 2.
<LBody> Second item…
<L> … nested sublist …- <L> holds <LI> items; inside each, <Lbl> is the bullet/number and <LBody> is the content. A sublist nests as an <L> inside the parent <LI> — never as a sibling.
- Bullet-looking paragraphs aren't a list until they're tagged as one — screen readers announce “list, 5 items” only for real <L> structure.
- Every link is a <Link> tag wrapping the link text plus an <OBJR> — the object reference connecting the tag to the clickable region. A Link without its OBJR looks fine and fails the audit.
- Link text should make sense on its own: “the compliance standard” beats “click here” — screen-reader users often browse links out of context.
- Footnotes: the superscript citation in the body is a <Link> (so users can jump); the note text itself is a <Note> placed where it's referenced logically.
- Form fields: each widget is wrapped in a <Form> tag with its <OBJR>. Every field needs a tooltip (the /TU description) — “Enter your full legal name”, not “Text1”. The visible label next to the field stays regular text.
- A real table of contents is <TOC> containing <TOCI> items, each holding a <Link> to its section.
7 · Apply to PDF
Editing happens in a live working copy. Nothing touches your PDF until you say so. Run checks one last time — aim for zero errors, and read any remaining warnings deliberately. Then hit Apply to PDF: we rebuild the document's tag structure server-side from your edits — creating the underlying marked content even where the original never had any — set the bookmarks and metadata (PDF/UA identifier included), and re-run full validation. Download the fresh file — yourfile.edited.pdf — from the job page, PAC-ready report alongside.
- Apply runs are included in the Editor subscription — no per-page charges. Iterate as much as you like.
- Each new apply supersedes the previous version automatically; your document list shows the original and the latest, not every attempt.
- A version snapshot is saved automatically before every Apply — the History button restores any snapshot from the last 30 days if you ever want to walk an apply back.
- Export changes (next to Apply) downloads your edit log — handy for reviews and audit trails.
Before you sign off — the pre-flight checklist
- Document Title and Language set (header bar).
- Headings outline tells a sensible story, starts at H1, no skipped levels (Issues tab).
- Zero errors; every remaining warning consciously accepted (Run checks).
- Every Figure has alt text that states its meaning; decorations are Artifacts.
- Every TH has a Scope; merged cells have correct spans.
- Reading order survives multi-column pages and sidebars (Reader tab, page by page).
- Headers, footers, page numbers artifacted (🧹 sweeper).
- One full listen of key pages (Reader tab ▶ Read aloud — ideally NVDA too).
8 · Keyboard shortcuts
One last word of craft: a passing checker is necessary, not sufficient. The point of every tag on this page is a person on the other end of a screen reader having the same experience your sighted readers get. When you're unsure how to tag something, ask what they should hear — the right answer usually follows.