{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Allwright accessibility snapshot v1",
"description": "The same document structure is used for JSON and YAML snapshots.",
"type": "object",
"required": ["version", "documents"],
"properties": {
"version": { "const": 1 },
"documents": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["contextId", "parentContextId", "url", "title", "root"],
"properties": {
"contextId": { "type": "string" },
"parentContextId": { "type": ["string", "null"] },
"url": { "type": "string" },
"title": { "type": "string" },
"root": { "$ref": "#/$defs/node" }
}
}
}
},
"$defs": {
"node": {
"type": "object",
"required": ["role", "name", "states", "properties", "children"],
"properties": {
"aria-ref": { "type": "string", "description": "AI mode DOM attribute value; query in this document with [aria-ref=\"value\"]." },
"role": { "type": "string" },
"name": { "type": "string" },
"states": {
"type": "object",
"additionalProperties": { "type": ["boolean", "number", "string"] }
},
"properties": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"children": { "type": "array", "items": { "$ref": "#/$defs/node" } }
}
}
}
}