Skip to main content
BWTAv0.11.0

Tags & Codes Reference

Braille Translation Web App

Overview

BWTA uses two systems to control how your document is translated and formatted into braille: tags and control codes.

  • Tags define the structure of your document — headings, paragraphs, lists, emphasis, math, and blockquotes. They look like HTML: <h1>Title</h1>. Tags determine which BANA formatting rules are applied automatically (indentation, spacing, centering).
  • Control codes give you fine-grained control over translation and layout. They use the syntax @{code}. Use them to force page breaks, change braille grade mid-document, insert transcriber notes, center text, adjust indentation, and more.

When you upload a document, BWTA automatically detects structure and inserts the appropriate tags. You can edit, add, or remove tags at any time in the Format pane (left side of the editor).

How to Insert Tags

There are three ways to insert tags:

  1. Keyboard shortcuts — The fastest method. Select text (or place your cursor) and press the shortcut. If text is selected, it will be wrapped in the tag. If no text is selected, the cursor's current word will be wrapped, or empty tags will be inserted at the cursor position.
  2. Toolbar buttons — Click the tag buttons above the editor (e.g., <h1>, <p>, <strong>). Active tags at the cursor position are highlighted in blue.
  3. Type directly — Type the opening and closing tags manually. Tags are case-insensitive.

Toggling: If the cursor is already inside a tag of the same type, using the shortcut or toolbar button will remove the tag instead of adding a duplicate.

Removing tags: Right-click in the editor and choose Remove Tag to strip the nearest enclosing tag pair without deleting the content inside.

Keyboard Shortcuts
ShortcutTagDescription
Ctrl+1<h1>Heading level 1
Ctrl+2<h2>Heading level 2
Ctrl+3<h3>Heading level 3
Ctrl+4<h4>Heading level 4
Ctrl+5<h5>Heading level 5
Ctrl+6<h6>Heading level 6
Ctrl+P<p>Paragraph
Ctrl+L<li>List item
Ctrl+B<strong>Bold
Ctrl+I<em>Italic/emphasis
Ctrl+M<math>Inline math
Ctrl+ZUndo
Ctrl+Shift+ZRedo
Block Tags (Document Structure)

Block tags define the structural elements of your document. Each block tag occupies its own line(s) and determines how the braille output is indented and spaced according to BANA (Braille Authority of North America) formatting rules.

Headings

Headings create the hierarchical structure of your document. BANA rules dictate specific indentation and centering for each heading level.

<h1>...</h1>Ctrl+1

Heading Level 1 — Major section heading.

BANA: Centered on the page with a minimum margin of 3 cells on each side. 1 blank line before and after. If the heading is too long to center, it wraps starting at cell 1. Used for book titles, chapter titles, and major divisions.

<h1>Chapter One</h1>
<h2>...</h2>Ctrl+2

Heading Level 2 — Subsection heading.

BANA: Cell-5 heading. First line and runover lines both begin at cell 5. 1 blank line before, no blank line after. The text that follows starts on the next line.

<h2>Section Title</h2>
<h3>...</h3> through <h6>...</h6>Ctrl+3-6

Heading Levels 3–6 — Sub-subsection headings.

BANA: Cell-7 heading. First line and runover lines both begin at cell 7. 1 blank line before, no blank line after. All four levels share the same formatting. Use deeper levels to preserve the document's outline hierarchy even though they look the same in braille.

<h3>Subsection</h3>
Note: When two headings appear consecutively (e.g., an <h1> followed immediately by an <h2>), the blank line between them is suppressed per BANA 4.2.1.

Paragraphs

<p>...</p>Ctrl+P

Paragraph — Standard body text.

BANA: 3-1 indented format. The first line of each paragraph begins at cell 3. Runover (continuation) lines begin at cell 1. No blank lines between paragraphs — the indentation change from cell 1 to cell 3 signals the start of a new paragraph to the braille reader.

<p>This is the first paragraph.</p>
<p>This is the second paragraph.</p>

Each <p> must be on its own line, with a closing </p> at the end.

Lists

<li>...</li>Ctrl+L

List Item — A single item in a list.

BANA: 1-3 format. The first line begins at cell 1. Runover lines begin at cell 3. This is the inverse of paragraph indentation. 1 blank line before the first item in a list, 1 blank line after the last item, and no blank lines between items.

<li>First item in the list</li>
<li>Second item in the list</li>
<ul>...</ul> and <ol>...</ol>

List Containers — Unordered and ordered lists.

Wrap <li> items in <ul> (unordered/bullet) or <ol> (ordered/numbered) to group them. Nesting lists inside other lists adds 2 cells of indentation per nesting level. For example, a nested list item uses 3-5 format (first line cell 3, runover cell 5) instead of 1-3.

<ul>
<li>Apples</li>
<li>Oranges</li>
</ul>

Blockquote

<aside>...</aside>

Blockquote / Aside — Quoted or offset material.

BANA: Displayed material at cell 3. Both the first line and runover lines begin at cell 3. 1 blank line before and after. Used for quoted passages, excerpts, and material that should be visually set apart from the main text.

<aside>To be, or not to be, that is the question.</aside>

Math Block

<mathblock>...</mathblock>

Display Math — A standalone math expression on its own line.

Content is preserved verbatim with no line wrapping. Internal newlines within the block are maintained. The math expression is translated using the selected math notation (Nemeth Code or UEB Math). Use this for equations, formulas, or any mathematical expression that should appear on its own line.

<mathblock>x = (-b ± √(b² - 4ac)) / 2a</mathblock>
Inline Tags (Within Text)

Inline tags modify text within a paragraph or other block element. They do not create new lines or affect indentation. In braille, they insert the appropriate indicators (e.g., bold typeform indicators for <strong>).

<strong>...</strong>Ctrl+B

Bold — Strongly emphasized text.

In braille, bold text is indicated with typeform indicators. In UEB, this uses the bold word indicator (dots 45-456) before the word and the bold terminator after. For passages of bold text, a bold passage indicator is used at the start and a terminator at the end.

<p>This is <strong>important</strong> text.</p>
<em>...</em>Ctrl+I

Italic / Emphasis — Emphasized text.

In braille, italics are indicated with typeform indicators. In UEB, this uses the italic word indicator (dots 46-456) before the word. For passages of italic text, an italic passage indicator is used. Italics are commonly used for book titles, foreign words, and emphasis.

<p>She read <em>To Kill a Mockingbird</em> last summer.</p>
<math>...</math>Ctrl+M

Inline Math — A math expression within running text.

The expression is translated using the selected math notation (Nemeth Code or UEB Math). In Nemeth, math is surrounded by Nemeth opening and closing indicators. In UEB Math, the expression uses UEB's technical symbols. Use this for variables, short equations, or any mathematical content that appears within a sentence.

<p>The formula <math>a² + b² = c²</math> is the Pythagorean theorem.</p>
BANA Formatting Rules Summary

BANA (Braille Authority of North America) rules determine how each element is positioned on the braille page. BWTA applies these rules automatically based on your tags. The key concept is cell position: cell 1 is the leftmost position on the line, cell 2 is one space in, and so on.

ElementFirst LineRunoverBlank BeforeBlank AfterNotes
Heading 1CenteredCell 111Min 3-cell margin each side
Heading 2Cell 5Cell 510
Headings 3–6Cell 7Cell 710All share same format
ParagraphCell 3Cell 1003-1 indented format
List itemCell 1Cell 3001-3 format; +2 per nesting level
BlockquoteCell 3Cell 311Displayed material
Math blockCell 1No wrap00Verbatim, no line wrapping

“First Line” is where the first line of the element starts. “Runover” is where continuation lines start when the content wraps to the next line. “Blank Before/After” is the number of blank lines inserted around the element.

Control Codes

Control codes give you precise control over translation and layout beyond what tags provide. They use the syntax @{code}. Some codes are standalone (single code), and some are block codes that require an opening and closing pair.

Syntax:

  • Standalone: @{code} — e.g., @{pg} for a page break
  • With arguments: @{code:arg} — colon separates numbered arguments, e.g., @{sk:2} to skip 2 lines
  • With text argument: @{code~text} — tilde introduces text, e.g., @{db~HELLO} for direct braille
  • Block pair: @{code}...@{/code} — e.g., @{g1}text@{/g1} for a Grade 1 passage
  • Escape: @@{ — produces a literal @{ in the output

How to insert: Click the Braille codes button in the toolbar to open the code menu, or right-click and choose Insert Code to search all available codes. You can also type codes directly.

Translation Control Codes

Translation codes affect how text is converted to braille. They control contraction grade, capitalization, and allow you to insert braille directly.

Grade Control

Override the document's default braille grade for specific passages. Useful when part of a Grade 2 document needs to be spelled out letter-by-letter.

@{g1}...@{/g1}

Grade 1 Passage — Translate the enclosed text in Grade 1 (uncontracted). Each letter is represented individually with no contractions. Use this for spelling words out, abbreviations, or technical text that should not be contracted.

<p>The acronym @{g1}NASA@{/g1} stands for...</p>
@{g2}...@{/g2}

Grade 2 Passage — Translate the enclosed text in Grade 2 (contracted). Use this to insert contracted passages within a Grade 1 document.

Contraction Control

@{nc}

No Contract — Prevent contraction at this specific point. Inserted before a word or between characters where a contraction would normally occur but is incorrect. This is a point-of-use override, unlike Grade 1 passages which affect entire blocks of text.

<p>The prefix @{nc}dis appears in many words.</p>

Transcriber Notes

@{tn}...@{/tn}

Transcriber Note — Add a note from the transcriber that is not part of the original text. In braille, transcriber notes are enclosed in transcriber-note indicators so the reader knows the content was added by the transcriber. Use this to describe images, explain formatting that doesn't translate to braille, or add clarifying context.

<p>@{tn}The following diagram shows a bar chart.@{/tn}</p>

Direct Braille

@{db~braille}

Direct Braille — Insert braille characters directly without translation. The text after the tilde is placed into the output as-is, bypassing the translation engine entirely. Use this when you need to insert specific braille dot patterns that the translator cannot produce, or to override the translation for a specific word or phrase.

@{db~⠓⠑⠇⠇⠕}
Layout Control Codes

Layout codes affect how the braille is arranged on the page — line breaks, page breaks, indentation, centering, and alignment.

Page & Line Breaks

@{pg}

Page Break — Force the content that follows to begin on a new braille page. Use this at the start of new chapters, major sections, or anywhere a page break is required. The page break appears in the BRF output as a form feed character.

@{nl}

New Line — Force a hard line break at this point. Unlike normal line wrapping (which BWTA handles automatically based on page width), this creates an explicit break. Use sparingly — in most cases, structural tags handle line breaks correctly.

@{sk:N}

Skip Lines — Insert N blank lines at this point. For example, @{sk:2} inserts 2 blank lines. Use this to add extra vertical space between sections when the automatic BANA spacing is not sufficient.

Indentation

@{ind:P}

Indent to Cell — Override the indentation for the following segment. P is the cell position (1-based). For example, @{ind:5} starts the text at cell 5. This overrides the default BANA indentation for that element.

@{ind:P:R}

Indent with Runover — Set both the first-line cell position (P) and the runover cell position (R). For example, @{ind:5:3} starts the first line at cell 5 and continuation lines at cell 3. This is how you create custom indentation patterns beyond the standard BANA formats.

Centering & Alignment

@{ctr}...@{/ctr}

Center Text — Center the enclosed text on the braille line. The text is horizontally centered with equal space on both sides, with a minimum margin of 3 cells. If the text is too long to center, it wraps starting at cell 1. Heading 1 is centered by default; use this code to center other elements like title pages or dedication text.

@{ctr}
<p>Dedicated to my family</p>
@{/ctr}
@{fr}

Flush Right — Align the following text to the right margin of the braille line. Used for dates, page references, or any content that should appear at the far right of the line.

Syntax Highlighting in the Editor

The Format pane uses color-coded syntax highlighting to help you identify tags and codes:

  • Blue — Structure tags (<h1>, <p>, <strong>, <em>, <li>, etc.)
  • Purple — Math tags (<math>, <mathblock>)
  • Amber — Control codes (@{pg}, @{g1}, @{nl}, etc.)

The toolbar buttons also highlight in blue when the cursor is inside an active tag, making it easy to see which formatting is applied at the current position.

Complete Example

Here is a complete example showing a variety of tags and codes in a single document:

<h1>The Solar System</h1>
<h2>Introduction</h2>
<p>The solar system consists of the Sun and everything that orbits it, including <strong>eight planets</strong>, their moons, and smaller objects.</p>
<p>The planets, in order from the Sun, are:</p>
<ul>
<li>Mercury</li>
<li>Venus</li>
<li>Earth</li>
<li>Mars</li>
<li>Jupiter</li>
<li>Saturn</li>
<li>Uranus</li>
<li>Neptune</li>
</ul>
<h2>Earth</h2>
<p>Earth is the third planet from the Sun and the only known planet to support life. Its distance from the Sun is approximately <math>1.496 × 10^8</math> km.</p>
<aside>Earth is sometimes called the "Blue Marble" because of how it looks from space.</aside>
<p>@{tn}The following section includes a diagram not shown in braille.@{/tn}</p>
@{pg}
<h1>Chapter Two</h1>
<p>The force of gravity is described by the equation:</p>
<mathblock>F = G(m₁m₂) / r²</mathblock>

This example demonstrates headings (h1, h2), paragraphs, bold text, an unordered list, inline math, a blockquote, a transcriber note, a forced page break, and a display math block.

Quick Reference

All Tags

TagShortcutTypePurpose
<h1>Ctrl+1BlockLevel 1 heading (centered)
<h2>Ctrl+2BlockLevel 2 heading (cell 5)
<h3>–<h6>Ctrl+3–6BlockLevel 3–6 heading (cell 7)
<p>Ctrl+PBlockParagraph (3-1 format)
<li>Ctrl+LBlockList item (1-3 format)
<ul> / <ol>BlockList container (unordered / ordered)
<aside>BlockBlockquote (cell 3, displayed material)
<mathblock>BlockDisplay math (verbatim, no wrap)
<strong>Ctrl+BInlineBold text
<em>Ctrl+IInlineItalic / emphasis
<math>Ctrl+MInlineInline math expression

Common Control Codes

CodeTypePurpose
@{pg}LayoutForce page break
@{nl}LayoutForce new line
@{sk:N}LayoutSkip N blank lines
@{ind:P}LayoutIndent to cell P
@{ind:P:R}LayoutIndent first line to P, runover to R
@{ctr}...@{/ctr}LayoutCenter text
@{fr}LayoutFlush right alignment
@{g1}...@{/g1}TranslationGrade 1 (uncontracted) passage
@{g2}...@{/g2}TranslationGrade 2 (contracted) passage
@{nc}TranslationPrevent contraction at this point
@{tn}...@{/tn}TranslationTranscriber note
@{db~text}TranslationDirect braille (no translation)

Send Feedback