{
  "id": "keywords/view",
  "mentions": [
    {
      "context": "…every page is a set of named slots, each rendered by a component with a typed view model, the contract between the generator and a theme. A theme that replaces …",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "Three views follow behind the tabs \"Document\", \"Extracted text\" and \"Related notes\", with \"Download the original\" at the end of the bar, the original file place…",
      "file": {
        "href": "../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../specs/screens/pages/document-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 9,
      "surface": "views",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…, open in the page. Served, it holds one link, \"Contract data (JSON)\", to the view of the contract the build wrote next to the fragments of the page; as soon as…",
      "file": {
        "href": "../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../specs/viewers/contract-viewer/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 6,
      "surface": "view",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…t user interface component it contributes through the plugin API, and reads a view the build writes from the cached contract: the operations with their paramete…",
      "file": {
        "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-contract-viewer.md"
      },
      "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 3,
      "surface": "view",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…ces the generic template for every entity of that type, and receives the same view model, the declaration of the type included, so that it lays the page out fro…",
      "file": {
        "href": "../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../specs/screens/pages/entity-page/index.html#L25",
      "kind": "recognised",
      "line": 25,
      "passages": 2,
      "surface": "view",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… files, sources. The passages follow, grouped by page in corpus order, two in view per page, with their context. The words that accompany the expression are its…",
      "file": {
        "href": "../../specs/screens/pages/keyword-page/index.html",
        "label": "screens/pages/keyword-page.md"
      },
      "href": "../../specs/screens/pages/keyword-page/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "view",
      "title": "Keyword page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…etween the generator and a theme. A theme that replaces a component keeps the view model; the accessibility checks run on the rendered pages whatever the theme,…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "Slots, islands and layers: named slots with typed view models, islands for the interactive parts only, cascade layers so that the project stylesheet wins by con…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named slots, each rendered by a component.  The view model of a slot is the contract b…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "p. 4",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…odels  Every page is a set of named slots, each rendered by a component.  The view model of a slot is the contract between the generator and a theme.  A theme t…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "p. 4",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…tween the generator and a theme.  A theme that replaces a component keeps the view model; the checks run on the rendered pages.  Theme override model · 2026-08-…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "p. 4",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "5 · DECISION  Slots, islands and layers  Named slots with typed view models.  Islands for the interactive parts, content reachable without JavaScript.  A budget…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "location": "p. 6",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named slots, each rendered by a component.  The view model of a slot is the contract b…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…odels  Every page is a set of named slots, each rendered by a component.  The view model of a slot is the contract between the generator and a theme.  A theme t…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…tween the generator and a theme.  A theme that replaces a component keeps the view model; the checks run on the rendered pages.  Theme override model · 2026-08-…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "5 · DECISION  Slots, islands and layers  Named slots with typed view models.  Islands for the interactive parts, content reachable without JavaScript.  A budget…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ose. Every page is a set of named slots, each rendered by a component with a typed view model. The view model is the contract between the generator and a theme.",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "15:00",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ose. Every page is a set of named slots, each rendered by a component with a typed view model. The view model is the contract between the generator and a theme.",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "15:00",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "A theme that replaces a component has to keep the view model, then. What stops a theme from dropping the mentions or the legend?",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L5",
      "kind": "recognised",
      "line": 5,
      "location": "20:30",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "Slide six, the decision. Slots, islands and layers: named slots with typed view models, islands for the interactive parts only, and cascade layers so that the p…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "location": "48:45",
      "passages": 15,
      "surface": "view",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ility rule asks for, served as anchors: without any script the page shows one view at a time, the view of the tab followed, the one holding the position a citat…",
      "file": {
        "href": "../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../specs/screens/pages/document-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 9,
      "surface": "view",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… served as anchors: without any script the page shows one view at a time, the view of the tab followed, the one holding the position a citation lands on, else t…",
      "file": {
        "href": "../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../specs/screens/pages/document-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 9,
      "surface": "view",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…s on, else the document; once its script runs, the selected state follows the view shown, the arrow keys move along the row and a tab followed updates the addre…",
      "file": {
        "href": "../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../specs/screens/pages/document-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 9,
      "surface": "view",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…he row and a tab followed updates the address without scrolling. The document view puts the strip of pages beside the rendering: numbered thumbnails, \"01\" to \"2…",
      "file": {
        "href": "../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../specs/screens/pages/document-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 9,
      "surface": "view",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… JavaScript the browser shows the PDF itself in the same place, first page in view. Under the rendering, two notes: \"Converted at publication, cached by fingerp…",
      "file": {
        "href": "../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../specs/screens/pages/document-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 9,
      "surface": "view",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…hed by fingerprint\" and \"The original stays downloadable\". The extracted text view gives the text of every page in a disclosure block, anchored the way the ment…",
      "file": {
        "href": "../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../specs/screens/pages/document-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 9,
      "surface": "view",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…n a disclosure block, anchored the way the mentions panel cites it. The notes view renders the note merged with the document as on the entity page, with its leg…",
      "file": {
        "href": "../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../specs/screens/pages/document-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 9,
      "surface": "view",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Follow a tab → the view of the document, its text or its notes",
      "file": {
        "href": "../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../specs/screens/pages/document-page/index.html#L26",
      "kind": "recognised",
      "line": 26,
      "passages": 9,
      "surface": "view",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…next to the fragments of the page; as soon as its script runs it fetches that view, once, \"Loading the contract…\" standing in the meantime, and opens in the blo…",
      "file": {
        "href": "../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../specs/viewers/contract-viewer/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 6,
      "surface": "view",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…nto the text: the page shows the contract, it does not duplicate it. When the view cannot be fetched, from a page opened on the disk for instance, the link to t…",
      "file": {
        "href": "../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../specs/viewers/contract-viewer/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 6,
      "surface": "view",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… OpenAPI and a WSDL contract: the plugins that import them produce one common view, and the viewer never knows the format. It contains no form and no \"Try it ou…",
      "file": {
        "href": "../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../specs/viewers/contract-viewer/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 6,
      "surface": "view",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…rds the API described, and the only fetch of the whole site is the one of the view, once per page. The decision purpose-built contract viewer says why no third-…",
      "file": {
        "href": "../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../specs/viewers/contract-viewer/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 6,
      "surface": "view",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Open an operation of the viewer → its parameters, request and responses, fetched once with the view",
      "file": {
        "href": "../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../specs/viewers/contract-viewer/index.html#L28",
      "kind": "recognised",
      "line": 28,
      "passages": 6,
      "surface": "view",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…WSDL alike. The page serves the operations as a plain list and a link to that view; the island fetches the view when the reader asks and renders an operation li…",
      "file": {
        "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-contract-viewer.md"
      },
      "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 3,
      "surface": "view",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…he operations as a plain list and a link to that view; the island fetches the view when the reader asks and renders an operation list and a schema explorer, rea…",
      "file": {
        "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-contract-viewer.md"
      },
      "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 3,
      "surface": "view",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "… counted alike, each entry marked \"Cited\" when the page writes a link, six in view before the button naming the others; the note under the list says so. The fir…",
      "file": {
        "href": "../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../specs/screens/pages/entity-page/index.html#L45",
      "kind": "recognised",
      "line": 45,
      "passages": 2,
      "surface": "view",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…arries the type chip and the title of its page and its count, two passages in view and the others folded under \"N other passages\", each passage links to where i…",
      "file": {
        "href": "../../specs/screens/pages/keyword-page/index.html",
        "label": "screens/pages/keyword-page.md"
      },
      "href": "../../specs/screens/pages/keyword-page/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 2,
      "surface": "view",
      "title": "Keyword page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… runs it after every change. A textual equivalent accompanies every graphical view, and a white label installation inherits the guarantees as long as its theme …",
      "file": {
        "href": "../../glossary/publication/site/accessibility-audit/index.html",
        "label": "publication/site/accessibility-audit.md"
      },
      "href": "../../glossary/publication/site/accessibility-audit/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "view",
      "title": "Accessibility audit",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…d. The block groups the mentions of the entity by citing page, six entries in view before the button naming the others, and can be narrowed by type or by a word…",
      "file": {
        "href": "../../glossary/publication/site/related-page/index.html",
        "label": "publication/site/related-page.md"
      },
      "href": "../../glossary/publication/site/related-page/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "view",
      "title": "Related page",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "One of the eleven named parts of the generated site, each with a typed view model that is the contract between the build and a theme: Shell, Header and Footer a…",
      "file": {
        "href": "../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "../../glossary/publication/site/slot/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "view",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The structured text that accompanies every graphical view of the site and carries the same information: the list of neighbours right after the neighbourhood map…",
      "file": {
        "href": "../../glossary/publication/site/textual-equivalent/index.html",
        "label": "publication/site/textual-equivalent.md"
      },
      "href": "../../glossary/publication/site/textual-equivalent/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "view",
      "title": "Textual equivalent",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…te is a set of named slots rendered at build by components, each with a typed view model that is the contract between the generator and a theme; the published H…",
      "file": {
        "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "view",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Textual equivalent. Every graphical view ships the same information as structured text in the served HTML, where the search index reads it: the neighbourhood ma…",
      "file": {
        "href": "../../specs/rules/engine/accessibility/index.html",
        "label": "rules/engine/accessibility.rule.md"
      },
      "href": "../../specs/rules/engine/accessibility/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "view",
      "title": "Accessibility",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "… or without a definition, by initial letter. Letters without an entry stay in view, struck through and inert. Each word is listed with its type, the first line …",
      "file": {
        "href": "../../specs/screens/pages/alphabetical-index/index.html",
        "label": "screens/pages/alphabetical-index.md"
      },
      "href": "../../specs/screens/pages/alphabetical-index/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "view",
      "title": "Alphabetical index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…tract viewer, open in the page as soon as its script runs, a link to its JSON view until then, and the note that no schema is copied into the text: the page sho…",
      "file": {
        "href": "../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../specs/screens/pages/api-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "surface": "view",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ecked without building a corpus: every slot of the site rendered with fixture view models, one page per slot and state, under an index that says who renders eac…",
      "file": {
        "href": "../../specs/screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "../../specs/screens/pages/gallery-index/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "view",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ach with its occurrences and the files they spread over, the first hundred in view and the others behind a disclosure worded \"Show the N others\", served in the …",
      "file": {
        "href": "../../specs/screens/pages/todo-page/index.html",
        "label": "screens/pages/todo-page.md"
      },
      "href": "../../specs/screens/pages/todo-page/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "view",
      "title": "To-do page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…n and recognised together, the order of the build breaking ties; six stand in view, then a button, \"Show the N others\"; a note under the list says how they are …",
      "file": {
        "href": "../../specs/screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "../../specs/screens/panels/mentions-panel/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "view",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    }
  ]
}
