Markdown Specifics
This is where the markdown content goes for the article that are writing. Please use standard Markdown. It should go in the appropriate folder.
Markdown Additions
Section titled “Markdown Additions”Markdown is good for putting out basic HTML, but it’s lacking a few features. The following is an overview of some of the additions to markdown that have been configured.
When you link to another document, you can do this in one of two ways:
- Use the full ta11y-1 link:
https://www.ta11y.org/learning/topic?key=test_tool.comprehensive_wave - Use a shortened path the article, with a
docsprotocol and no locale:learning://digital-testing/test-tools/wave.- This one is preferred, but not required.
When you link to an external site, the platform will automatically add an external icon indicating that the link is external. For example, a link to Google that has the indicator.
You can add specific syntax highlighting by specifying the language after the backticks (```). So instead of a “black and white” stand code block:
<table> <caption class="example"></caption> <tr> <th></th> <th style="text-align: center"></th> </tr> <tr> <td></td> <td></td> </tr></table>You can colorize it by adding the language (html in this case):
```html <table> ... </table>```Which will give it some syntax coloring, making it easier to read:
<table> <caption class="example"></caption> <tr> <th></th> <th style="text-align: center"></th> </tr> <tr> <td></td> <td></td> </tr></table>A title can be added as well:
```html title="Code Example: Basic Data Table" <table> ... </table>```which you can see here:
<table> ...</table>More examples and useful features can be found on Expressive Code’s documentation site.
Asides
Section titled “Asides”Sometimes you need to have a callout to specifically grab attention to a point. There are three asides that are available:
:::note[Title goes between the brackets]A standard callout with a blue background and an information icon.:::
:::caution[Title goes between the brackets]A callout with a yellow background and an warning road sign icon.:::
:::danger[Title goes between the brackets]A callout with a pink background and a stop sign icon, signalling that callout can have dangerous implications.:::As you can see in the example above, the title is surrounded by square brackets right afterwards ([]). If you don’t include a title, it will default to the name of the Aside (Note, Caution and Danger).
Figures
Section titled “Figures”Figures are not available in basic Markdown, so we’ve added an extension to be able to create them. Just like the titles in Asides, the caption is surrounded by square brackets right afterwards ([]). If you don’t include a caption, none will be rendered.
:::figure[Caption goes between the brackets] ... Standard markdown can go in the middle ...:::So if you wrote the following:
:::figure[Have to have a cute picture of a dog as an example]:::You would get this as a result:

Optional Attributes
Section titled “Optional Attributes”You can also add an id and a class attribute to figures. For instance, use the bordered class to add some additional vertical separation.
:::figure[A figure with a border]{class="bordered" id="figure1"} * Any old markdown * can be placed * inside a `figure`.:::
To get to [figure 1](#figure1), click that link.- Any old markdown
- can be placed
- inside a
figure.
To get to figure 1, click that link.
Tables
Section titled “Tables”When writing a table, it is impossible to write a caption in standard Markdown. So, we’ve added a method similar to figures to provide a caption for a table.
:::table[Caption goes between the brackets] | Column Left | Column Centered | Column Right | |----------|:--------:|---------:| | Cell 1A | Cell 1B | Cell 1C | | Cell 2A | Cell 2B | Cell 2C |:::Example using code above:
| Column Left | Column Centered | Column Right |
|---|---|---|
| Cell 1A | Cell 1B | Cell 1C |
| Cell 2A | Cell 2B | Cell 2C |
Optional Attributes
Section titled “Optional Attributes”Just like a figure, you can add an id and a class to a table. For example, when writing a table, you may want to show each of the cells individually. When this happens, add a class="cell-outline" to specifically show a border on each cell.
So, if you write the following:
:::table[Caption goes between the brackets]{class="cell-outline" id="table1"} | Column Left | Column Centered | Column Right | |----------|:--------:|---------:| | Cell 1A | Cell 1B | Cell 1C | | Cell 2A | Cell 2B | Cell 2C |:::
With [a link to that table](#table1) rendered correctly.Example using code above:
| Column Left | Column Centered | Column Right |
|---|---|---|
| Cell 1A | Cell 1B | Cell 1C |
| Cell 2A | Cell 2B | Cell 2C |
With a link to that table rendered correctly.
When writing an ordered list (ol), sometimes most of the list items have a lot of content in a single item. When this happens, you can add the following block:
:::steps1. Larger and Fancier2. List Items, than can
hold **additional** paragraphs, figures or tables.3. ...:::Example using code above:
-
Larger and Fancier
-
List Items, than can
hold additional paragraphs, figures or tables.
-
…
You can also add an id, just like on figures or tables.
Definition Lists
Section titled “Definition Lists”If you have a list or table that is really just providing a set of definitions, you should consider using a definition list instead. To do this, create a new paragraph with the term, and prepend the definition with a colon (:).
So, if you write this:
Term A: This is the definition for term A.
Term B: This is the definition for term B.: Each term can have multiple definitions * As well as additional markdown within a definition by indenting it. * Just like this.It will render as this:
- Term A
- This is the definition for term A.
- Term B
- This is the definition for term B.
- Each term can have multiple definitions:
- As well as additional markdown within a definition by indenting it.
- Just like this.
Footnotes (Citations)
Section titled “Footnotes (Citations)”Footnotes can be added to each page rather simply:
Here is a simple footnote[^1].* Some example text.* Another reference to the first footnote[^1].
A footnote can also have multiple lines[^2].
[^1]: References can contain [links](https://www.ta11y.org) and other formatting.[^2]: To add line breaks within a footnote, add a `\` to the end of a line.\This is a second line.They will look like the following in the flow of the document:
Here is a simple footnote1.
- Some example text.
- Another reference to the first footnote1.
A footnote can also have multiple lines2.
These footnotes will show up at the bottom of this page.
This will produce a Footnotes section at the bottom of the page, with the appropriate references.
For more information, please see the Starlight Documentation on Footnotes.
Metadata (Frontmatter)
Section titled “Metadata (Frontmatter)”The reference for the metadata (or frontmatter) at the top of each document is found on the Starlight Documentation page. However, there are some additions that will be useful to know as well as some specific mentions.
Contributors
Section titled “Contributors”Please list any contributors in the metadata section. Make sure they have a representative file in the /astro/src/content/team folder.
---title: An article...contributors: - en/ellen-liebert - en/jonathan-katz-ouziel - en/rachael-bradley-montgomery---Topic keys
Section titled “Topic keys”Please list any topic keys that an article has in the previous version of ta11y. The topic key is the part after key= in the URL for any ta11y article. Since some articles have moved around, this is technically a list.
---title: Use Positive Language...topicKeys: - writing.lang_positive - writing.positive---Sidebar
Section titled “Sidebar”The sidebar section determines the label, order and any badge that appears in the sidebar (or the main table of contents). The order shouled match the order of the article in its category. The label is really useful when the article title is long or contains redundant information with its category.
---title: Page with a custom sidebar...sidebar: label: Page with sidebar order: 3 badge: New---For more details, please see the Starlight Documentation on Sidebar Configuration.
Article Status
Section titled “Article Status”If you add a draft: true to the metadata, the article will be available in development mode, but it won’t be published. This is useful when you’ve got an article in progress, but haven’t figured out how to fully convert all of the information.
---title: Page with a draft status...draft: true---If you add a stub: true to the metadata, the article will be published, but with a note at the top indicating the article is just a stub article. This is useful when you’ve got an article with just a summary and nothing else.
---title: Page with an stub status...stub: true---Incomplete
Section titled “Incomplete”If you add a incomplete: true to the metadata, the article will be published, but with a note at the top indicating the article is not finished. This is useful when you’ve got an article with some sections fully complete and others empty.
---title: Page with an incomplete status...incomplete: true---Last Updated
Section titled “Last Updated”To help keep track of when an article is updated, add a lastUpdated tag with date formatted as YYYY-MM-DD. This will print out a note when the article was written.
---title: Page with a last updated date...lastUpdated: 2026-02-01---