You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/certification/qti3-remaining-parity-evidence.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,9 +63,9 @@ and private conformance evidence remain the gates.
63
63
| PNP/access-for-all display and content supports |`item-player` parses and applies PNP; host handles platform supports emitted by user action | Additive `PnpProfile` fields and `Player.updatePnp()` behavior | Parser/apply tests for canonical aliases, display/text preferences, magnification, host-routed supports, host-defined catalog usages, optional language preference, reserved-usage filtering, documented `html` event payloads, and dynamic rebinding cleanup | Verify expanded PNP support behavior without leaking vendor fixture names | First code pass; review findings fixed; focused tests pass |
64
64
| Effective time limits and itemSessionControl precedence |`assessment-player` resolves effective controls; backend adapter validates final timing decisions | Additive optional backend API timing state, expiry scope, and effective item control snapshots | Unit/integration tests for assessment/testPart/section/item-ref precedence, restore, expiry, late submission, and extended time | Verify published backend adapter contract honors official timing cases | Planned |
65
65
| Backend-authoritative timing enforcement |`assessment-player` sends timing evidence; backend adapter accepts, rejects, or finalizes | Additive optional `BackendAdapter`, submit/finalize request, and session timing fields with defaults for existing adapters | Adapter contract tests for server-side accept/reject/finalize decisions and persisted elapsed time | Verify private conformance runs against published package behavior, not local state | Planned |
66
-
| Shared stimulus runtime delivery |`ims-cp-core` extracts stimulus metadata, `ims-cp-browser` resolves resources, `assessment-player` passes resolved context, `item-player` renders | Additive resolved stimulus body/style/catalog inputs | Parser and renderer tests for multiple stimuli, docking order, undocked content, validation messages, explicit compatibility overrides, class merging, and asset resolution | Verify shared stimulus delivery with published packages | First code pass for body insertionand package-reference gates; browser rendering and stylesheet application remain|
67
-
| Stylesheet and asset scoping |`ims-cp-browser` resolves and classifies URLs, `item-player` enforces render policy | Additive security policy configuration for package styles/assets | Tests for package-relative styles, blocked remote/unsafe URLs, path traversal, CSS escaping, and scoped stylesheet application | Verify official stylesheets do not require unsafe public defaults |First code pass for package-relative path gates and unsafe stylesheet/stimulus refs; runtime CSS scoping remains Stage 4|
68
-
| Scoped catalog delivery |`ims-cp-core` extracts catalog XML, `item-player` scopes and resolves catalog entries | Additive rich catalog source model and host catalog event detail | Tests for item-local precedence, shared stimulus catalog fallback, language fallback, duplicate ID scoping, inactive PNP gating, sanitized host event content, unsafe usage-name rejection, and unsafe relative `qti-file-href` removal | Verify official catalog/glossary cases with published packages |First code pass for host-event details and package-relative catalog file gates; scoped stimulus catalog runtime remains Stage 4|
66
+
| Shared stimulus runtime delivery |`ims-cp-core` extracts stimulus metadata, `ims-cp-browser` resolves resources, `assessment-player` passes resolved context, `item-player` renders | Additive resolved stimulus body/style/catalog inputs | Parser and renderer tests for multiple stimuli, docking order, undocked content, validation messages, explicit compatibility overrides, class merging, scoped catalog lookup, stylesheet scoping, and asset resolution | Verify shared stimulus delivery with published packages | First code pass plus review fixes for body insertion, stylesheet application, scoped catalog lookup, and package-reference gates; browser rendering evidence remains|
67
+
| Stylesheet and asset scoping |`ims-cp-browser` resolves and classifies URLs, `item-player` enforces render policy | Additive security policy configuration for package styles/assets | Tests for package-relative styles, blocked remote/unsafe URLs, path traversal, CSS escaping, instance-isolated scoping, stimulus-local scoping, and scoped stylesheet application | Verify official stylesheets do not require unsafe public defaults |Runtime scoped stylesheet application has focused unit coverage; browser-visible CSS evidence remains Stage 5|
68
+
| Scoped catalog delivery |`ims-cp-core` extracts catalog XML, `item-player` scopes and resolves catalog entries | Additive rich catalog source model and host catalog event detail | Tests for item-local precedence, shared stimulus catalog fallback, language fallback, duplicate ID scoping, inactive PNP gating, sanitized host event content, unsafe usage-name rejection, and unsafe relative `qti-file-href` removal | Verify official catalog/glossary cases with published packages |Stimulus-scoped lookup now has focused runtime coverage; browser evidence remains Stage 5|
69
69
| Browser-visible PNP/catalog UI |`item-player` emits accessible UI/events, `apps/demo` exercises candidate-facing behavior | Component events and accessible names | Playwright tests for keyboard operation, Escape/focus return, distinct labels, dynamic PNP toggles, host events, no answer-key leakage, and target size | Manual AT signoff after private conformance stability | Planned |
70
70
| Accessible timer UI |`assessment-player` emits warning/expiry state, `apps/demo` renders accessible status | Time warning/expiry events and shell rendering | Browser tests for localized warnings, live regions, no involuntary focus movement, disabled/late state, reduced motion, zoom/reflow, and contrast | Verify no timing conformance behavior depends on inaccessible UI-only state | Planned |
71
71
| Final qti3 package parity checklist | docs/certification | No runtime API | Checklist comparing each `qti3-*` package feature area to public evidence, intentional divergences, private status, and residual risk | Completed only after private conformance against published versions | Planned |
@@ -92,8 +92,10 @@ answer keys are not exposed through:
92
92
stylesheet/catalog scoping, and runtime renderer consumption. Unit coverage now
93
93
includes package-relative stylesheet/stimulus path gates and unsafe relative
94
94
asset/catalog file-reference removal, plus item-runtime stimulus insertion,
95
-
explicit override precedence, class merging, and undocked stimulus ordering.
96
-
Browser-visible runtime rendering and stylesheet application remain Stage 4/5.
95
+
explicit override precedence, class merging, undocked stimulus ordering, and
96
+
instance-isolated and stimulus-local runtime stylesheet CSS, plus scoped catalog
97
+
lookup for item/stimulus ID collisions. Browser-visible rendering evidence remains
98
+
Stage 5.
97
99
-`qti30-advanced-t5`: expand for effective itemSessionControl precedence
98
100
across testPart, section, and item-ref scopes.
99
101
-`qti30-advanced-t12`: expand for item/section/test time-limit precedence,
0 commit comments