nx_ux_standard.nx
buildroot/runtime/nx_ux_standard.nx
about
nx_ux_standard.nx -- sealed-enum catalogue of UX standards clauses.
T1 of NISHI_UX_TRIANGULATION_ROADMAP. Each clause = (id, source,
short title). Source IDs let nx_ux_triangulate enforce the
≥3-independent-sources-agree rule.
Standards covered in this initial T1:
NN/g 10 heuristics (Nielsen 1994/2020)
WCAG 2.2 selected SC (W3C)
Apple HIG core (Apple 2024)
Material Design 3 core (Google 2024)
ISO 9241-110 dialogue principles (2020)
Cardinal: triangulation requires three INDEPENDENT sources. Source
id discrimination matters; we don't let two NN/g clauses count as
independent.
license_tier: ORIGINAL -- standards referenced by clause ID only,
substrate re-derives semantic interpretation first-principles.
genealogy_id: international-research-sources/nn_g + w3c/wcag_22 +
apple/hig + google/material_3 + iso/9241_110
lineage_id: nishi_ux_standard_q10
dependencies 1 imports · 4 importers
imports: nx_syscalls.nx
imported by: nx_browser_demo_test.nxnx_ux_score.nxnx_ux_triangulate.nxnx_ux_triangulate_w3c_kat_test.nx
structs
| none |
consts
| 25 | const NX_MAGIC_1099: i64 = 1099 |
| 28 | const NX_UX_SRC_NNG: i64 = 1 // Nielsen Norman Group |
| 29 | const NX_UX_SRC_WCAG: i64 = 2 // W3C WCAG |
| 30 | const NX_UX_SRC_APPLE_HIG: i64 = 3 // Apple Human Interface Guidelines |
| 31 | const NX_UX_SRC_MATERIAL: i64 = 4 // Google Material Design 3 |
| 32 | const NX_UX_SRC_ISO_9241: i64 = 5 // ISO 9241 family |
| 33 | const NX_UX_SRC_SIGCHI: i64 = 6 // ACM SIGCHI canon |
| 35 | const NX_UX_SRC_W3C_HTML: i64 = 7 // W3C HTML Living Standard |
| 36 | const NX_UX_SRC_W3C_ARIA: i64 = 8 // W3C ARIA 1.2 |
| 37 | const NX_UX_SRC_W3C_DOM: i64 = 9 // W3C DOM Living Standard |
| 38 | const NX_UX_SRC_W3C_CSS: i64 = 10 // W3C CSS specs |
| 39 | const NX_UX_SRC_MS_INCL: i64 = 11 // Microsoft Inclusive Design |
| 40 | const NX_UX_SRC_N: i64 = 12 |
| 43 | const NX_UX_NN1_VISIBILITY: i64 = 101 |
| 44 | const NX_UX_NN2_REAL_WORLD: i64 = 102 |
| 45 | const NX_UX_NN3_USER_CONTROL: i64 = 103 |
| 46 | const NX_UX_NN4_CONSISTENCY: i64 = 104 |
| 47 | const NX_UX_NN5_ERROR_PREVENTION: i64 = 105 |
| 48 | const NX_UX_NN6_RECOGNITION: i64 = 106 |
| 49 | const NX_UX_NN7_FLEXIBILITY: i64 = 107 |
| 50 | const NX_UX_NN8_MINIMALIST: i64 = 108 |
| 51 | const NX_UX_NN9_ERROR_RECOVERY: i64 = 109 |
| 52 | const NX_UX_NN10_HELP: i64 = 110 |
| 54 | const NX_UX_WCAG_1_4_3_CONTRAST: i64 = 201 // 4.5:1 min text |
| 55 | const NX_UX_WCAG_1_4_11_NONTEXT: i64 = 202 // 3:1 non-text |
| 56 | const NX_UX_WCAG_2_1_1_KEYBOARD: i64 = 203 // keyboard accessible |
| 57 | const NX_UX_WCAG_2_4_7_FOCUS: i64 = 204 // focus visible |
| 58 | const NX_UX_WCAG_4_1_2_NRV: i64 = 205 // name, role, value (AT) |
| 60 | const NX_UX_APPLE_CLARITY: i64 = 301 |
| 61 | const NX_UX_APPLE_DEFERENCE: i64 = 302 |
| 62 | const NX_UX_APPLE_FEEDBACK: i64 = 303 |
| 64 | const NX_UX_MATERIAL_DYNAMIC: i64 = 401 |
| 65 | const NX_UX_MATERIAL_MOTION: i64 = 402 |
| 66 | const NX_UX_MATERIAL_TYPESCALE: i64 = 403 |
| 68 | const NX_UX_ISO_SELFDESCRIPTIVE: i64 = 501 |
| 69 | const NX_UX_ISO_CONTROLLABILITY: i64 = 502 |
| 70 | const NX_UX_ISO_ERROR_TOLERANCE: i64 = 503 |
| 71 | const NX_UX_ISO_INDIVIDUALISATION: i64 = 504 |
| 74 | const NX_UX_W3C_HTML_SEMANTIC: i64 = 601 // proper semantic elements |
| 75 | const NX_UX_W3C_HTML_VOID: i64 = 602 // void-element rules |
| 77 | const NX_UX_W3C_ARIA_ROLES: i64 = 701 // explicit role declarations |
| 78 | const NX_UX_W3C_ARIA_LABELS: i64 = 702 // accessible labels |
| 80 | const NX_UX_W3C_DOM_TREE: i64 = 801 // well-formed tree |
| 82 | const NX_UX_W3C_CSS_CONTRAST: i64 = 901 // computable color contrast |
| 84 | const NX_UX_MS_INCL_EXCLUSION: i64 = 1001 // think about excluded users |
| 144 | const NX_UX_CLUSTER_NONE: i64 = 0 |
| 145 | const NX_UX_CLUSTER_FEEDBACK: i64 = 1 // visibility of status, action feedback |
| 146 | const NX_UX_CLUSTER_CONTROL: i64 = 2 // user control & freedom, flexibility |
| 147 | const NX_UX_CLUSTER_CONSISTENCY: i64 = 3 // standards adherence, type scale |
| 148 | const NX_UX_CLUSTER_ACCESSIBILITY: i64 = 4 // a11y, recognition, ARIA, inclusive |
| 149 | const NX_UX_CLUSTER_ERROR_PREVENT: i64 = 5 // prevention + recovery + tolerance |
| 150 | const NX_UX_CLUSTER_AESTHETICS: i64 = 6 // minimalist, clarity, contrast |
| 151 | const NX_UX_CLUSTER_DOCUMENTATION: i64 = 7 // help, self-descriptive |
| 152 | const NX_UX_CLUSTER_SEMANTIC: i64 = 8 // semantic structure, DOM tree |
| 153 | const NX_UX_CLUSTER_N: i64 = 9 |
functions
| 88 | func nx_ux_clause_source(clause_id: i64) -> i64 |
| 103 | func nx_ux_clause_label(clause_id: i64) -> *u8 called by 1: main |
| 155 | func nx_ux_clause_cluster(clause_id: i64) -> i64 called by 1: nx_ux_triangulate_cluster |
| 185 | func nx_ux_cluster_label(cluster_id: i64) -> *u8 called by 1: main |
| 197 | func nx_ux_source_label(source_id: i64) -> *u8 called by 1: main |
| 212 | func main() -> i64 |