node/tools/doc
Rich Trott 7f06c270c6 tools: add navigation ARIA landmark to generated API ToC
As an accessibility improvement, specify the navigation landmark for
the element of our docs that contains the table of contents generated
for the specific API page.

Ref: https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/
Ref: https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA20.html
PR-URL: https://github.com/nodejs/node/pull/49882
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Claudio Wunder <cwunder@gnome.org>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
2023-09-28 14:08:53 -07:00
..
addon-verify.mjs tools: prepare tools/doc for to-vfile 8.0.0 2023-06-18 06:12:22 +00:00
allhtml.mjs doc: add main ARIA landmark to API docs 2023-09-28 14:08:52 -07:00
alljson.mjs tools: enforce use of trailing commas in tools/ 2022-12-18 16:39:39 +00:00
apilinks.mjs tools: enforce use of trailing commas in tools/ 2022-12-18 16:39:39 +00:00
buildCSSForFlavoredJS.mjs doc: rename possibly confusing variable and CSS class 2023-09-08 17:03:57 +02:00
common.mjs
deprecationCodes.mjs tools: enforce use of trailing commas in tools/ 2022-12-18 16:39:39 +00:00
deps.mjs
generate.mjs
html.mjs tools: add navigation ARIA landmark to generated API ToC 2023-09-28 14:08:53 -07:00
json.mjs tools: enforce use of trailing commas in tools/ 2022-12-18 16:39:39 +00:00
LICENSE
links-mapper.json doc: clarify module system selection 2022-01-17 11:36:19 +01:00
markdown.mjs tools: enforce use of trailing commas in tools/ 2022-12-18 16:39:39 +00:00
package-lock.json tools: update doc dependencies 2023-09-05 06:13:53 +00:00
package.json tools: update doc dependencies 2023-09-05 06:13:53 +00:00
README.md
stability.mjs tools: fix stability index generation 2022-11-07 01:25:44 +00:00
type-parser.mjs events: allow safely adding listener to abortSignal 2023-07-05 22:04:23 +00:00
versions.mjs tools: update main branch name 2022-06-17 08:48:18 +01:00

Here's how the node docs work.

1:1 relationship from lib/<module>.js to doc/api/<module>.md.

Each type of heading has a description block.

# module

<!--introduced_in=v0.10.0-->

> Stability: 2 - Stable

A description and examples.

## module.property
<!-- YAML
added: v0.10.0
-->

* {type}

A description of the property.

## module.someFunction(x, y, [z=100])
<!-- YAML
added: v0.10.0
-->

* `x` {string} The description of the string.
* `y` {boolean} Should I stay or should I go?
* `z` {number} How many zebras to bring. **Default:** `100`.

A description of the function.

## module.someNewFunction(x)
<!-- YAML
added: REPLACEME
-->

* `x` {string} The description of the string.

This feature is not in a release yet.

## Event: 'blerg'
<!-- YAML
added: v0.10.0
-->

* `anArg` {type} A description of the listener argument.

Modules don't usually raise events on themselves. `cluster` is the
only exception.

## Class: SomeClass
<!-- YAML
added: v0.10.0
-->

A description of the class.

### SomeClass.classMethod(anArg)
<!-- YAML
added: v0.10.0
-->

* `anArg` {Object} Just an argument.
  * `field` {string} `anArg` can have this field.
  * `field2` {boolean} Another field. **Default:** `false`.
* Returns: {boolean} `true` if it worked.

A description of the method for humans.

### SomeClass.nextSibling()
<!-- YAML
added: v0.10.0
-->

* Returns: {SomeClass | null} The next `SomeClass` in line.

`SomeClass` must be registered in `tools/doc/type-parser.mjs`
to be properly parsed in `{type}` fields.

### SomeClass.someProperty
<!-- YAML
added: v0.10.0
-->

* {string}

The indication of what `someProperty` is.

### Event: 'grelb'
<!-- YAML
added: v0.10.0
-->

* `isBlerg` {boolean}

This event is emitted on instances of `SomeClass`, not on the module itself.
  • Classes have (description, Properties, Methods, Events).
  • Events have (list of listener arguments, description).
  • Functions have (list of arguments, returned value if defined, description).
  • Methods have (list of arguments, returned value if defined, description).
  • Modules have (description, Properties, Functions, Classes, Examples).
  • Properties have (type, description).