open-standards/wai/vector-conformance/vectors/a11y/purposes.json
Transaction Science 10ba6e9bcc wai-vector: the text layer and section 5, text and accessibility (D7-7)
graphics-vector.md section 5 (Draft): what a sink exposes to assistive
technology and to a text consumer, and how. Each text block's active set (the
effective windows of the items that draw it, merged), the projection at a
frame and the transcript as exact JSON, the text record and its digest, ruby,
purposes, writing modes and the cluster rule.

- wai-vector: src/text.rs (no_std, no dependency), the a11y and text commands,
  and vectors verify recomputing every text record.
- The corpus: a new a11y group, each payload with its text record
  (<name>.a11y.jsonl) and its digest in the expected file; canonical and
  refusal vectors for TEXT. No existing expected file changes.
- tests/text_layer.rs: each rule of section 5, with expected JSON written by
  hand from the text, each falsified once.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 02:43:02 -04:00

271 lines
9.6 KiB
JSON

{
"header":{"magic":"WVG1","format":1,"tb":120000,"t0":0,"dur":24000,"design_w":640,"design_h":360,"n_sizes":1,"n_rates":1,"n_sets":1,"n_tables":0,"n_paints":1,"n_texts":16,"n_tracks":0,"n_paths":0,"n_items":16,"n_keys":0,"n_glyphs":104,"n_clusters":104,"path_contours":0,"path_points":0,"strings_len":136,"inline_len":0,"held_len":105523,"zero@72":[0,0,0,0,0,0,0,0]},
"sizes":[
{"w":640,"h":360,"cost":24150310}
],
"rates":[
{"num":25,"den":1}
],
"sets":[
{"carriage":0,"zero@1":[0,0,0],"length":105523,"sha256":"05476c4658ef7366c7700736487eac4c3c1b7d21264978c7d05bd4c7427736c9"}
],
"tables":[],
"paints":[
[255,255,255,255]
],
"tracks":[],
"keys":[],
"paths":[],
"path_ends":[],
"path_points":[],
"texts":[
{"purpose":1,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":5},
{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":6},
{"purpose":3,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":11},
{"purpose":4,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":7},
{"purpose":5,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":8},
{"purpose":6,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":16},
{"purpose":7,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":5},
{"purpose":8,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":5},
{"purpose":9,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":5},
{"purpose":10,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":4},
{"purpose":11,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":7},
{"purpose":12,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":4},
{"purpose":13,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":10},
{"purpose":14,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":3},
{"purpose":200,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":4},
{"purpose":255,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":4}
],
"items":[
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":0,"zero@10":0,"n_glyphs":5,"n_clusters":5,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":1,"zero@10":0,"n_glyphs":6,"n_clusters":6,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":2,"zero@10":0,"n_glyphs":11,"n_clusters":11,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":3,"zero@10":0,"n_glyphs":7,"n_clusters":7,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":4,"zero@10":0,"n_glyphs":8,"n_clusters":8,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":5,"zero@10":0,"n_glyphs":16,"n_clusters":16,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":6,"zero@10":0,"n_glyphs":5,"n_clusters":5,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":7,"zero@10":0,"n_glyphs":5,"n_clusters":5,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":8,"zero@10":0,"n_glyphs":5,"n_clusters":5,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":9,"zero@10":0,"n_glyphs":4,"n_clusters":4,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":10,"zero@10":0,"n_glyphs":7,"n_clusters":7,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":11,"zero@10":0,"n_glyphs":4,"n_clusters":4,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":12,"zero@10":0,"n_glyphs":10,"n_clusters":10,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":13,"zero@10":0,"n_glyphs":3,"n_clusters":3,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":14,"zero@10":0,"n_glyphs":4,"n_clusters":4,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":15,"zero@10":0,"n_glyphs":4,"n_clusters":4,"t_on":0,"t_off":24000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]}
],
"glyphs":[
[116,0,4096,9216],
[105,0,5536,9216],
[116,0,6496,9216],
[108,0,7936,9216],
[101,0,8896,9216],
[99,0,4096,15872],
[114,0,6096,15872],
[101,0,7616,15872],
[100,0,9776,15872],
[105,0,12016,15872],
[116,0,12976,15872],
[108,0,4096,22528],
[111,0,5056,22528],
[119,0,7296,22528],
[101,0,10296,22528],
[114,0,12456,22528],
[95,0,13976,22528],
[116,0,15976,22528],
[104,0,17416,22528],
[105,0,19656,22528],
[114,0,20616,22528],
[100,0,22136,22528],
[99,0,4096,29184],
[97,0,6096,29184],
[112,0,8256,29184],
[116,0,10496,29184],
[105,0,11936,29184],
[111,0,12896,29184],
[110,0,15136,29184],
[115,0,4096,35840],
[117,0,5976,35840],
[98,0,8216,35840],
[116,0,10456,35840],
[105,0,11896,35840],
[116,0,12856,35840],
[108,0,14296,35840],
[101,0,15256,35840],
[102,0,4096,42496],
[111,0,5496,42496],
[114,0,7736,42496],
[99,0,9256,42496],
[101,0,11256,42496],
[100,0,13416,42496],
[95,0,15656,42496],
[110,0,17656,42496],
[97,0,19896,42496],
[114,0,22056,42496],
[114,0,23576,42496],
[97,0,25096,42496],
[116,0,27256,42496],
[105,0,28696,42496],
[118,0,29656,42496],
[101,0,31736,42496],
[108,0,4096,49152],
[97,0,5056,49152],
[98,0,7216,49152],
[101,0,9456,49152],
[108,0,11616,49152],
[108,0,4096,55808],
[101,0,5056,55808],
[103,0,7216,55808],
[97,0,9416,55808],
[108,0,11576,55808],
[97,0,80896,9216],
[108,0,83056,9216],
[101,0,84016,9216],
[114,0,86176,9216],
[116,0,87696,9216],
[108,0,80896,15872],
[111,0,81856,15872],
[103,0,84096,15872],
[111,0,86296,15872],
[103,0,80896,22528],
[114,0,83096,22528],
[97,0,84616,22528],
[112,0,86776,22528],
[104,0,89016,22528],
[105,0,91256,22528],
[99,0,92216,22528],
[100,0,80896,29184],
[97,0,83136,29184],
[116,0,85296,29184],
[97,0,86736,29184],
[100,0,80896,35840],
[101,0,83136,35840],
[99,0,85296,35840],
[111,0,87296,35840],
[114,0,89536,35840],
[97,0,91056,35840],
[116,0,93216,35840],
[105,0,94656,35840],
[118,0,95616,35840],
[101,0,97696,35840],
[112,0,80896,42496],
[49,0,83136,42496],
[52,0,85376,42496],
[112,0,80896,49152],
[50,0,83136,49152],
[48,0,85376,49152],
[48,0,87616,49152],
[112,0,80896,55808],
[50,0,83136,55808],
[53,0,85376,55808],
[53,0,87616,55808]
],
"clusters":[
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,5,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,5,1],
[1,0,6,1],
[1,0,7,1],
[1,0,8,1],
[1,0,9,1],
[1,0,10,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,5,1],
[1,0,6,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,5,1],
[1,0,6,1],
[1,0,7,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,5,1],
[1,0,6,1],
[1,0,7,1],
[1,0,8,1],
[1,0,9,1],
[1,0,10,1],
[1,0,11,1],
[1,0,12,1],
[1,0,13,1],
[1,0,14,1],
[1,0,15,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,5,1],
[1,0,6,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,4,1],
[1,0,5,1],
[1,0,6,1],
[1,0,7,1],
[1,0,8,1],
[1,0,9,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1],
[1,0,0,1],
[1,0,1,1],
[1,0,2,1],
[1,0,3,1]
],
"strings":"entitleencreditenlower_thirdencaptionensubtitleenforced_narrativeenlabelenlegalenalertenlogoengraphicendataendecorativeenp14enp200enp255",
"inline":""
}