@pie-players/pie-assessment-toolkit 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +159 -1
- package/dist/index.d.ts +16 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/player/AssessmentPlayer.d.ts +9 -0
- package/dist/player/AssessmentPlayer.d.ts.map +1 -1
- package/dist/player/AssessmentPlayer.js +13 -4
- package/dist/player/AssessmentPlayer.js.map +1 -1
- package/dist/services/AnnotationToolbarConfig.d.ts +134 -0
- package/dist/services/AnnotationToolbarConfig.d.ts.map +1 -0
- package/dist/services/AnnotationToolbarConfig.js +100 -0
- package/dist/services/AnnotationToolbarConfig.js.map +1 -0
- package/dist/services/HighlightCoordinator.d.ts +23 -10
- package/dist/services/HighlightCoordinator.d.ts.map +1 -1
- package/dist/services/HighlightCoordinator.js +87 -40
- package/dist/services/HighlightCoordinator.js.map +1 -1
- package/dist/services/PNPToolResolver.d.ts +171 -15
- package/dist/services/PNPToolResolver.d.ts.map +1 -1
- package/dist/services/PNPToolResolver.js +324 -32
- package/dist/services/PNPToolResolver.js.map +1 -1
- package/dist/services/RangeSerializer.d.ts +119 -0
- package/dist/services/RangeSerializer.d.ts.map +1 -0
- package/dist/services/RangeSerializer.js +199 -0
- package/dist/services/RangeSerializer.js.map +1 -0
- package/dist/services/TTSService.d.ts +4 -1
- package/dist/services/TTSService.d.ts.map +1 -1
- package/dist/services/TTSService.js +58 -3
- package/dist/services/TTSService.js.map +1 -1
- package/dist/services/ToolRegistry.d.ts +225 -0
- package/dist/services/ToolRegistry.d.ts.map +1 -0
- package/dist/services/ToolRegistry.js +248 -0
- package/dist/services/ToolRegistry.js.map +1 -0
- package/dist/services/ToolkitCoordinator.d.ts +22 -0
- package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
- package/dist/services/ToolkitCoordinator.js +44 -0
- package/dist/services/ToolkitCoordinator.js.map +1 -1
- package/dist/services/createDefaultToolRegistry.d.ts +72 -0
- package/dist/services/createDefaultToolRegistry.d.ts.map +1 -0
- package/dist/services/createDefaultToolRegistry.js +147 -0
- package/dist/services/createDefaultToolRegistry.js.map +1 -0
- package/dist/services/interfaces.d.ts +8 -0
- package/dist/services/interfaces.d.ts.map +1 -1
- package/dist/services/interfaces.js.map +1 -1
- package/dist/services/pnp-provenance.d.ts +167 -0
- package/dist/services/pnp-provenance.d.ts.map +1 -0
- package/dist/services/pnp-provenance.js +230 -0
- package/dist/services/pnp-provenance.js.map +1 -0
- package/dist/services/pnp-standard-features.d.ts +240 -0
- package/dist/services/pnp-standard-features.d.ts.map +1 -0
- package/dist/services/pnp-standard-features.js +342 -0
- package/dist/services/pnp-standard-features.js.map +1 -0
- package/dist/services/tool-context.d.ts +150 -0
- package/dist/services/tool-context.d.ts.map +1 -0
- package/dist/services/tool-context.js +157 -0
- package/dist/services/tool-context.js.map +1 -0
- package/dist/services/tool-providers/ToolProviderRegistry.d.ts.map +1 -1
- package/dist/services/tool-providers/ToolProviderRegistry.js +7 -7
- package/dist/services/tool-providers/ToolProviderRegistry.js.map +1 -1
- package/dist/tools/registrations/accessibility-tools.d.ts +43 -0
- package/dist/tools/registrations/accessibility-tools.d.ts.map +1 -0
- package/dist/tools/registrations/accessibility-tools.js +230 -0
- package/dist/tools/registrations/accessibility-tools.js.map +1 -0
- package/dist/tools/registrations/calculator.d.ts +21 -0
- package/dist/tools/registrations/calculator.d.ts.map +1 -0
- package/dist/tools/registrations/calculator.js +98 -0
- package/dist/tools/registrations/calculator.js.map +1 -0
- package/dist/tools/registrations/interaction-tools.d.ts +28 -0
- package/dist/tools/registrations/interaction-tools.d.ts.map +1 -0
- package/dist/tools/registrations/interaction-tools.js +124 -0
- package/dist/tools/registrations/interaction-tools.js.map +1 -0
- package/dist/tools/registrations/measurement-tools.d.ts +25 -0
- package/dist/tools/registrations/measurement-tools.d.ts.map +1 -0
- package/dist/tools/registrations/measurement-tools.js +112 -0
- package/dist/tools/registrations/measurement-tools.js.map +1 -0
- package/dist/tools/registrations/subject-specific-tools.d.ts +28 -0
- package/dist/tools/registrations/subject-specific-tools.d.ts.map +1 -0
- package/dist/tools/registrations/subject-specific-tools.js +118 -0
- package/dist/tools/registrations/subject-specific-tools.js.map +1 -0
- package/dist/tools/registrations/tts.d.ts +20 -0
- package/dist/tools/registrations/tts.d.ts.map +1 -0
- package/dist/tools/registrations/tts.js +86 -0
- package/dist/tools/registrations/tts.js.map +1 -0
- package/dist/tools/tool-tag-map.d.ts +24 -0
- package/dist/tools/tool-tag-map.d.ts.map +1 -0
- package/dist/tools/tool-tag-map.js +38 -0
- package/dist/tools/tool-tag-map.js.map +1 -0
- package/package.json +15 -7
- package/src/README.md +25 -11
- package/src/components/PNPProfileTester.example.svelte +188 -0
- package/src/components/PNPProfileTester.svelte +397 -0
- package/src/components/PNPProvenanceViewer.svelte +260 -0
- package/src/components/QuestionToolBar.svelte +160 -83
- package/src/components/ToolButton.svelte +146 -0
- package/src/components/ToolButtonGroup.svelte +109 -0
- package/src/reference-layout/ReferenceLayout.svelte +5 -13
- package/dist/services/PNPMapper.d.ts +0 -71
- package/dist/services/PNPMapper.d.ts.map +0 -1
- package/dist/services/PNPMapper.js +0 -98
- package/dist/services/PNPMapper.js.map +0 -1
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QTI 3.0 / IMS Access for All (AfA) 3.0 Standard Access Features
|
|
3
|
+
*
|
|
4
|
+
* This file contains standardized accessibility feature identifiers from:
|
|
5
|
+
* - IMS Global Access for All (AfA) 3.0 specification
|
|
6
|
+
* - QTI 3.0 Personal Needs and Preferences (PNP)
|
|
7
|
+
* - Schema.org accessibility features vocabulary
|
|
8
|
+
* - WCAG 2.x accessibility guidelines
|
|
9
|
+
*
|
|
10
|
+
* These are the officially recognized values for QTI 3.0's accessibilityInfo.accessFeature
|
|
11
|
+
* and can be used as a reference for PNP profile configuration and tool mapping.
|
|
12
|
+
*
|
|
13
|
+
* References:
|
|
14
|
+
* - IMS AfA 3.0: https://www.imsglobal.org/spec/afa/v3p0
|
|
15
|
+
* - QTI 3.0: https://www.imsglobal.org/spec/qti/v3p0
|
|
16
|
+
* - Schema.org: https://schema.org/accessibilityFeature
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Standard QTI 3.0 accessibility features organized by category
|
|
20
|
+
*/
|
|
21
|
+
export declare const QTI_STANDARD_ACCESS_FEATURES: {
|
|
22
|
+
/**
|
|
23
|
+
* Visual accessibility features
|
|
24
|
+
* For students with low vision, color blindness, or visual processing needs
|
|
25
|
+
*/
|
|
26
|
+
readonly visual: {
|
|
27
|
+
readonly magnification: "magnification";
|
|
28
|
+
readonly screenMagnifier: "screenMagnifier";
|
|
29
|
+
readonly zoomable: "zoomable";
|
|
30
|
+
readonly highContrastDisplay: "highContrastDisplay";
|
|
31
|
+
readonly highContrastAudio: "highContrastAudio";
|
|
32
|
+
readonly colorContrast: "colorContrast";
|
|
33
|
+
readonly invertColors: "invertColors";
|
|
34
|
+
readonly displayTransformability: "displayTransformability";
|
|
35
|
+
readonly largePrint: "largePrint";
|
|
36
|
+
readonly fontEnlargement: "fontEnlargement";
|
|
37
|
+
readonly resizeText: "resizeText";
|
|
38
|
+
readonly alternativeText: "alternativeText";
|
|
39
|
+
readonly longDescription: "longDescription";
|
|
40
|
+
readonly describedMath: "describedMath";
|
|
41
|
+
readonly tactileGraphic: "tactileGraphic";
|
|
42
|
+
readonly tactileObject: "tactileObject";
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Auditory accessibility features
|
|
46
|
+
* For students who are deaf, hard of hearing, or benefit from audio
|
|
47
|
+
*/
|
|
48
|
+
readonly auditory: {
|
|
49
|
+
readonly audioDescription: "audioDescription";
|
|
50
|
+
readonly textToSpeech: "textToSpeech";
|
|
51
|
+
readonly readAloud: "readAloud";
|
|
52
|
+
readonly humanVoice: "humanVoice";
|
|
53
|
+
readonly syntheticVoice: "syntheticVoice";
|
|
54
|
+
readonly speechRate: "speechRate";
|
|
55
|
+
readonly speechVolume: "speechVolume";
|
|
56
|
+
readonly voicePitch: "voicePitch";
|
|
57
|
+
readonly captions: "captions";
|
|
58
|
+
readonly closedCaptions: "closedCaptions";
|
|
59
|
+
readonly openCaptions: "openCaptions";
|
|
60
|
+
readonly transcript: "transcript";
|
|
61
|
+
readonly signLanguage: "signLanguage";
|
|
62
|
+
readonly subtitles: "subtitles";
|
|
63
|
+
readonly audioControl: "audioControl";
|
|
64
|
+
readonly noBackgroundAudio: "noBackgroundAudio";
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Motor/physical accessibility features
|
|
68
|
+
* For students with limited mobility or motor control
|
|
69
|
+
*/
|
|
70
|
+
readonly motor: {
|
|
71
|
+
readonly keyboardControl: "keyboardControl";
|
|
72
|
+
readonly mouseControl: "mouseControl";
|
|
73
|
+
readonly touchControl: "touchControl";
|
|
74
|
+
readonly voiceControl: "voiceControl";
|
|
75
|
+
readonly switchControl: "switchControl";
|
|
76
|
+
readonly eyeGazeControl: "eyeGazeControl";
|
|
77
|
+
readonly singleSwitchAccess: "singleSwitchAccess";
|
|
78
|
+
readonly stickyKeys: "stickyKeys";
|
|
79
|
+
readonly keyboardShortcuts: "keyboardShortcuts";
|
|
80
|
+
readonly timingControl: "timingControl";
|
|
81
|
+
readonly unlimitedTime: "unlimitedTime";
|
|
82
|
+
readonly extendedTime: "extendedTime";
|
|
83
|
+
readonly pauseControl: "pauseControl";
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Cognitive/learning accessibility features
|
|
87
|
+
* For students with learning disabilities, ADHD, autism, etc.
|
|
88
|
+
*/
|
|
89
|
+
readonly cognitive: {
|
|
90
|
+
readonly simplifiedLanguage: "simplifiedLanguage";
|
|
91
|
+
readonly reducedComplexity: "reducedComplexity";
|
|
92
|
+
readonly structuralNavigation: "structuralNavigation";
|
|
93
|
+
readonly tableOfContents: "tableOfContents";
|
|
94
|
+
readonly reducedDistraction: "reducedDistraction";
|
|
95
|
+
readonly noFlashing: "noFlashing";
|
|
96
|
+
readonly pauseAnimation: "pauseAnimation";
|
|
97
|
+
readonly annotations: "annotations";
|
|
98
|
+
readonly bookmarking: "bookmarking";
|
|
99
|
+
readonly highlighting: "highlighting";
|
|
100
|
+
readonly guidedNavigation: "guidedNavigation";
|
|
101
|
+
readonly calculator: "calculator";
|
|
102
|
+
readonly dictionary: "dictionary";
|
|
103
|
+
readonly thesaurus: "thesaurus";
|
|
104
|
+
readonly spellingAssistance: "spellingAssistance";
|
|
105
|
+
readonly grammarAssistance: "grammarAssistance";
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Reading support features
|
|
109
|
+
* For students with dyslexia or reading challenges
|
|
110
|
+
*/
|
|
111
|
+
readonly reading: {
|
|
112
|
+
readonly lineSpacing: "lineSpacing";
|
|
113
|
+
readonly wordSpacing: "wordSpacing";
|
|
114
|
+
readonly letterSpacing: "letterSpacing";
|
|
115
|
+
readonly fontFamily: "fontFamily";
|
|
116
|
+
readonly readingMask: "readingMask";
|
|
117
|
+
readonly readingGuide: "readingGuide";
|
|
118
|
+
readonly readingRuler: "readingRuler";
|
|
119
|
+
readonly wordHighlighting: "wordHighlighting";
|
|
120
|
+
readonly lineHighlighting: "lineHighlighting";
|
|
121
|
+
readonly focusIndicator: "focusIndicator";
|
|
122
|
+
readonly printableResource: "printableResource";
|
|
123
|
+
readonly braille: "braille";
|
|
124
|
+
readonly nemeth: "nemeth";
|
|
125
|
+
readonly refreshableBraille: "refreshableBraille";
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Navigation features
|
|
129
|
+
* For efficient content navigation
|
|
130
|
+
*/
|
|
131
|
+
readonly navigation: {
|
|
132
|
+
readonly index: "index";
|
|
133
|
+
readonly pageNavigation: "pageNavigation";
|
|
134
|
+
readonly skipContent: "skipContent";
|
|
135
|
+
readonly breadcrumbs: "breadcrumbs";
|
|
136
|
+
readonly searchable: "searchable";
|
|
137
|
+
readonly fullTextSearch: "fullTextSearch";
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Linguistic features
|
|
141
|
+
* For language support
|
|
142
|
+
*/
|
|
143
|
+
readonly linguistic: {
|
|
144
|
+
readonly multilingualText: "multilingualText";
|
|
145
|
+
readonly translatedText: "translatedText";
|
|
146
|
+
readonly glossary: "glossary";
|
|
147
|
+
readonly signLanguageInterpretation: "signLanguageInterpretation";
|
|
148
|
+
readonly visualLanguage: "visualLanguage";
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Assessment-specific features
|
|
152
|
+
* Features specific to test-taking environments
|
|
153
|
+
*/
|
|
154
|
+
readonly assessment: {
|
|
155
|
+
readonly protractor: "protractor";
|
|
156
|
+
readonly ruler: "ruler";
|
|
157
|
+
readonly graph: "graph";
|
|
158
|
+
readonly graphingCalculator: "graphingCalculator";
|
|
159
|
+
readonly periodicTable: "periodicTable";
|
|
160
|
+
readonly formulaSheet: "formulaSheet";
|
|
161
|
+
readonly answerMasking: "answerMasking";
|
|
162
|
+
readonly answerEliminator: "answerEliminator";
|
|
163
|
+
readonly strikethrough: "strikethrough";
|
|
164
|
+
readonly itemGlossary: "itemGlossary";
|
|
165
|
+
readonly tutorialAvailable: "tutorialAvailable";
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Flat list of all standard access features for validation
|
|
170
|
+
*/
|
|
171
|
+
export declare const ALL_STANDARD_ACCESS_FEATURES: ("braille" | "calculator" | "textToSpeech" | "ruler" | "protractor" | "answerEliminator" | "graph" | "periodicTable" | "graphingCalculator" | "readAloud" | "strikethrough" | "answerMasking" | "magnification" | "screenMagnifier" | "zoomable" | "readingMask" | "readingGuide" | "readingRuler" | "highContrastDisplay" | "colorContrast" | "invertColors" | "highlighting" | "annotations" | "highContrastAudio" | "displayTransformability" | "largePrint" | "fontEnlargement" | "resizeText" | "alternativeText" | "longDescription" | "describedMath" | "tactileGraphic" | "tactileObject" | "audioDescription" | "humanVoice" | "syntheticVoice" | "speechRate" | "speechVolume" | "voicePitch" | "captions" | "closedCaptions" | "openCaptions" | "transcript" | "signLanguage" | "subtitles" | "audioControl" | "noBackgroundAudio" | "keyboardControl" | "mouseControl" | "touchControl" | "voiceControl" | "switchControl" | "eyeGazeControl" | "singleSwitchAccess" | "stickyKeys" | "keyboardShortcuts" | "timingControl" | "unlimitedTime" | "extendedTime" | "pauseControl" | "simplifiedLanguage" | "reducedComplexity" | "structuralNavigation" | "tableOfContents" | "reducedDistraction" | "noFlashing" | "pauseAnimation" | "bookmarking" | "guidedNavigation" | "dictionary" | "thesaurus" | "spellingAssistance" | "grammarAssistance" | "lineSpacing" | "wordSpacing" | "letterSpacing" | "fontFamily" | "wordHighlighting" | "lineHighlighting" | "focusIndicator" | "printableResource" | "nemeth" | "refreshableBraille" | "index" | "pageNavigation" | "skipContent" | "breadcrumbs" | "searchable" | "fullTextSearch" | "multilingualText" | "translatedText" | "glossary" | "signLanguageInterpretation" | "visualLanguage" | "formulaSheet" | "itemGlossary" | "tutorialAvailable")[];
|
|
172
|
+
/**
|
|
173
|
+
* Example PNP configurations for common accessibility needs
|
|
174
|
+
* These are NOT official profiles but illustrative examples showing
|
|
175
|
+
* how standard features can be combined for different student needs.
|
|
176
|
+
*/
|
|
177
|
+
export declare const EXAMPLE_PNP_CONFIGURATIONS: {
|
|
178
|
+
/**
|
|
179
|
+
* Example: Student with low vision
|
|
180
|
+
*/
|
|
181
|
+
readonly lowVision: {
|
|
182
|
+
readonly label: "Example: Low Vision Support";
|
|
183
|
+
readonly features: readonly ["magnification", "screenMagnifier", "highContrastDisplay", "colorContrast", "fontEnlargement", "textToSpeech", "alternativeText", "describedMath"];
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Example: Student who is blind
|
|
187
|
+
*/
|
|
188
|
+
readonly blind: {
|
|
189
|
+
readonly label: "Example: Blind Student Support";
|
|
190
|
+
readonly features: readonly ["textToSpeech", "screenReader", "alternativeText", "longDescription", "describedMath", "braille", "refreshableBraille", "keyboardControl", "structuralNavigation"];
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Example: Student who is deaf or hard of hearing
|
|
194
|
+
*/
|
|
195
|
+
readonly deafHardOfHearing: {
|
|
196
|
+
readonly label: "Example: Deaf/Hard of Hearing Support";
|
|
197
|
+
readonly features: readonly ["captions", "closedCaptions", "signLanguage", "transcript", "visualLanguage", "noBackgroundAudio"];
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Example: Student with dyslexia
|
|
201
|
+
*/
|
|
202
|
+
readonly dyslexia: {
|
|
203
|
+
readonly label: "Example: Dyslexia Support";
|
|
204
|
+
readonly features: readonly ["textToSpeech", "readAloud", "highlighting", "wordHighlighting", "lineHighlighting", "readingMask", "readingGuide", "fontFamily", "lineSpacing", "wordSpacing", "simplifiedLanguage", "dictionary"];
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Example: Student with ADHD
|
|
208
|
+
*/
|
|
209
|
+
readonly adhd: {
|
|
210
|
+
readonly label: "Example: ADHD Support";
|
|
211
|
+
readonly features: readonly ["reducedDistraction", "noFlashing", "pauseAnimation", "timingControl", "extendedTime", "highlighting", "annotations", "guidedNavigation", "structuralNavigation"];
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* Example: Student with motor limitations
|
|
215
|
+
*/
|
|
216
|
+
readonly motorLimitations: {
|
|
217
|
+
readonly label: "Example: Motor Limitations Support";
|
|
218
|
+
readonly features: readonly ["keyboardControl", "stickyKeys", "keyboardShortcuts", "voiceControl", "switchControl", "timingControl", "extendedTime", "unlimitedTime"];
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* Example: English language learner
|
|
222
|
+
*/
|
|
223
|
+
readonly englishLearner: {
|
|
224
|
+
readonly label: "Example: English Language Learner Support";
|
|
225
|
+
readonly features: readonly ["textToSpeech", "translatedText", "glossary", "dictionary", "simplifiedLanguage", "readAloud", "highlighting"];
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* Helper to validate if a feature ID is a standard QTI 3.0 feature
|
|
230
|
+
*/
|
|
231
|
+
export declare function isStandardAccessFeature(featureId: string): boolean;
|
|
232
|
+
/**
|
|
233
|
+
* Helper to get category for a feature
|
|
234
|
+
*/
|
|
235
|
+
export declare function getFeatureCategory(featureId: string): keyof typeof QTI_STANDARD_ACCESS_FEATURES | null;
|
|
236
|
+
/**
|
|
237
|
+
* Helper to get all features in a category
|
|
238
|
+
*/
|
|
239
|
+
export declare function getFeaturesInCategory(category: keyof typeof QTI_STANDARD_ACCESS_FEATURES): string[];
|
|
240
|
+
//# sourceMappingURL=pnp-standard-features.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pnp-standard-features.d.ts","sourceRoot":"","sources":["../../src/services/pnp-standard-features.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,eAAO,MAAM,4BAA4B;IACxC;;;OAGG;;;;;;;;;;;;;;;;;;;IA2BH;;;OAGG;;;;;;;;;;;;;;;;;;;IA2BH;;;OAGG;;;;;;;;;;;;;;;;IAsBH;;;OAGG;;;;;;;;;;;;;;;;;;;IA2BH;;;OAGG;;;;;;;;;;;;;;;;;IAuBH;;;OAGG;;;;;;;;;IAaH;;;OAGG;;;;;;;;IAYH;;;OAGG;;;;;;;;;;;;;;CAmBM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,4BAA4B,stDAEO,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;IACtC;;OAEG;;;;;IAeH;;OAEG;;;;;IAgBH;;OAEG;;;;;IAaH;;OAEG;;;;;IAmBH;;OAEG;;;;;IAgBH;;OAEG;;;;;IAeH;;OAEG;;;;;CAaM,CAAC;AAEX;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIlE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,SAAS,EAAE,MAAM,GACf,MAAM,OAAO,4BAA4B,GAAG,IAAI,CASlD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,MAAM,OAAO,4BAA4B,GACjD,MAAM,EAAE,CAEV"}
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QTI 3.0 / IMS Access for All (AfA) 3.0 Standard Access Features
|
|
3
|
+
*
|
|
4
|
+
* This file contains standardized accessibility feature identifiers from:
|
|
5
|
+
* - IMS Global Access for All (AfA) 3.0 specification
|
|
6
|
+
* - QTI 3.0 Personal Needs and Preferences (PNP)
|
|
7
|
+
* - Schema.org accessibility features vocabulary
|
|
8
|
+
* - WCAG 2.x accessibility guidelines
|
|
9
|
+
*
|
|
10
|
+
* These are the officially recognized values for QTI 3.0's accessibilityInfo.accessFeature
|
|
11
|
+
* and can be used as a reference for PNP profile configuration and tool mapping.
|
|
12
|
+
*
|
|
13
|
+
* References:
|
|
14
|
+
* - IMS AfA 3.0: https://www.imsglobal.org/spec/afa/v3p0
|
|
15
|
+
* - QTI 3.0: https://www.imsglobal.org/spec/qti/v3p0
|
|
16
|
+
* - Schema.org: https://schema.org/accessibilityFeature
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Standard QTI 3.0 accessibility features organized by category
|
|
20
|
+
*/
|
|
21
|
+
export const QTI_STANDARD_ACCESS_FEATURES = {
|
|
22
|
+
/**
|
|
23
|
+
* Visual accessibility features
|
|
24
|
+
* For students with low vision, color blindness, or visual processing needs
|
|
25
|
+
*/
|
|
26
|
+
visual: {
|
|
27
|
+
// Magnification and zoom
|
|
28
|
+
magnification: "magnification",
|
|
29
|
+
screenMagnifier: "screenMagnifier",
|
|
30
|
+
zoomable: "zoomable",
|
|
31
|
+
// Color and contrast
|
|
32
|
+
highContrastDisplay: "highContrastDisplay",
|
|
33
|
+
highContrastAudio: "highContrastAudio",
|
|
34
|
+
colorContrast: "colorContrast",
|
|
35
|
+
invertColors: "invertColors",
|
|
36
|
+
// Display customization
|
|
37
|
+
displayTransformability: "displayTransformability",
|
|
38
|
+
largePrint: "largePrint",
|
|
39
|
+
fontEnlargement: "fontEnlargement",
|
|
40
|
+
resizeText: "resizeText",
|
|
41
|
+
// Visual alternatives
|
|
42
|
+
alternativeText: "alternativeText",
|
|
43
|
+
longDescription: "longDescription",
|
|
44
|
+
describedMath: "describedMath",
|
|
45
|
+
tactileGraphic: "tactileGraphic",
|
|
46
|
+
tactileObject: "tactileObject",
|
|
47
|
+
},
|
|
48
|
+
/**
|
|
49
|
+
* Auditory accessibility features
|
|
50
|
+
* For students who are deaf, hard of hearing, or benefit from audio
|
|
51
|
+
*/
|
|
52
|
+
auditory: {
|
|
53
|
+
// Audio output
|
|
54
|
+
audioDescription: "audioDescription",
|
|
55
|
+
textToSpeech: "textToSpeech",
|
|
56
|
+
readAloud: "readAloud",
|
|
57
|
+
humanVoice: "humanVoice",
|
|
58
|
+
syntheticVoice: "syntheticVoice",
|
|
59
|
+
// Speech control
|
|
60
|
+
speechRate: "speechRate",
|
|
61
|
+
speechVolume: "speechVolume",
|
|
62
|
+
voicePitch: "voicePitch",
|
|
63
|
+
// Visual alternatives for audio
|
|
64
|
+
captions: "captions",
|
|
65
|
+
closedCaptions: "closedCaptions",
|
|
66
|
+
openCaptions: "openCaptions",
|
|
67
|
+
transcript: "transcript",
|
|
68
|
+
signLanguage: "signLanguage",
|
|
69
|
+
subtitles: "subtitles",
|
|
70
|
+
// Audio adjustments
|
|
71
|
+
audioControl: "audioControl",
|
|
72
|
+
noBackgroundAudio: "noBackgroundAudio",
|
|
73
|
+
},
|
|
74
|
+
/**
|
|
75
|
+
* Motor/physical accessibility features
|
|
76
|
+
* For students with limited mobility or motor control
|
|
77
|
+
*/
|
|
78
|
+
motor: {
|
|
79
|
+
// Input alternatives
|
|
80
|
+
keyboardControl: "keyboardControl",
|
|
81
|
+
mouseControl: "mouseControl",
|
|
82
|
+
touchControl: "touchControl",
|
|
83
|
+
voiceControl: "voiceControl",
|
|
84
|
+
switchControl: "switchControl",
|
|
85
|
+
eyeGazeControl: "eyeGazeControl",
|
|
86
|
+
// Keyboard features
|
|
87
|
+
singleSwitchAccess: "singleSwitchAccess",
|
|
88
|
+
stickyKeys: "stickyKeys",
|
|
89
|
+
keyboardShortcuts: "keyboardShortcuts",
|
|
90
|
+
// Timing
|
|
91
|
+
timingControl: "timingControl",
|
|
92
|
+
unlimitedTime: "unlimitedTime",
|
|
93
|
+
extendedTime: "extendedTime",
|
|
94
|
+
pauseControl: "pauseControl",
|
|
95
|
+
},
|
|
96
|
+
/**
|
|
97
|
+
* Cognitive/learning accessibility features
|
|
98
|
+
* For students with learning disabilities, ADHD, autism, etc.
|
|
99
|
+
*/
|
|
100
|
+
cognitive: {
|
|
101
|
+
// Content simplification
|
|
102
|
+
simplifiedLanguage: "simplifiedLanguage",
|
|
103
|
+
reducedComplexity: "reducedComplexity",
|
|
104
|
+
structuralNavigation: "structuralNavigation",
|
|
105
|
+
tableOfContents: "tableOfContents",
|
|
106
|
+
// Focus and attention
|
|
107
|
+
reducedDistraction: "reducedDistraction",
|
|
108
|
+
noFlashing: "noFlashing",
|
|
109
|
+
pauseAnimation: "pauseAnimation",
|
|
110
|
+
// Organization and support
|
|
111
|
+
annotations: "annotations",
|
|
112
|
+
bookmarking: "bookmarking",
|
|
113
|
+
highlighting: "highlighting",
|
|
114
|
+
guidedNavigation: "guidedNavigation",
|
|
115
|
+
// Tools
|
|
116
|
+
calculator: "calculator",
|
|
117
|
+
dictionary: "dictionary",
|
|
118
|
+
thesaurus: "thesaurus",
|
|
119
|
+
spellingAssistance: "spellingAssistance",
|
|
120
|
+
grammarAssistance: "grammarAssistance",
|
|
121
|
+
},
|
|
122
|
+
/**
|
|
123
|
+
* Reading support features
|
|
124
|
+
* For students with dyslexia or reading challenges
|
|
125
|
+
*/
|
|
126
|
+
reading: {
|
|
127
|
+
// Text presentation
|
|
128
|
+
lineSpacing: "lineSpacing",
|
|
129
|
+
wordSpacing: "wordSpacing",
|
|
130
|
+
letterSpacing: "letterSpacing",
|
|
131
|
+
fontFamily: "fontFamily",
|
|
132
|
+
readingMask: "readingMask",
|
|
133
|
+
readingGuide: "readingGuide",
|
|
134
|
+
readingRuler: "readingRuler",
|
|
135
|
+
// Highlighting and emphasis
|
|
136
|
+
wordHighlighting: "wordHighlighting",
|
|
137
|
+
lineHighlighting: "lineHighlighting",
|
|
138
|
+
focusIndicator: "focusIndicator",
|
|
139
|
+
// Content support
|
|
140
|
+
printableResource: "printableResource",
|
|
141
|
+
braille: "braille",
|
|
142
|
+
nemeth: "nemeth",
|
|
143
|
+
refreshableBraille: "refreshableBraille",
|
|
144
|
+
},
|
|
145
|
+
/**
|
|
146
|
+
* Navigation features
|
|
147
|
+
* For efficient content navigation
|
|
148
|
+
*/
|
|
149
|
+
navigation: {
|
|
150
|
+
// Structure
|
|
151
|
+
index: "index",
|
|
152
|
+
pageNavigation: "pageNavigation",
|
|
153
|
+
skipContent: "skipContent",
|
|
154
|
+
breadcrumbs: "breadcrumbs",
|
|
155
|
+
// Search
|
|
156
|
+
searchable: "searchable",
|
|
157
|
+
fullTextSearch: "fullTextSearch",
|
|
158
|
+
},
|
|
159
|
+
/**
|
|
160
|
+
* Linguistic features
|
|
161
|
+
* For language support
|
|
162
|
+
*/
|
|
163
|
+
linguistic: {
|
|
164
|
+
// Languages
|
|
165
|
+
multilingualText: "multilingualText",
|
|
166
|
+
translatedText: "translatedText",
|
|
167
|
+
glossary: "glossary",
|
|
168
|
+
// Sign language
|
|
169
|
+
signLanguageInterpretation: "signLanguageInterpretation",
|
|
170
|
+
visualLanguage: "visualLanguage",
|
|
171
|
+
},
|
|
172
|
+
/**
|
|
173
|
+
* Assessment-specific features
|
|
174
|
+
* Features specific to test-taking environments
|
|
175
|
+
*/
|
|
176
|
+
assessment: {
|
|
177
|
+
// Tools
|
|
178
|
+
protractor: "protractor",
|
|
179
|
+
ruler: "ruler",
|
|
180
|
+
graph: "graph",
|
|
181
|
+
graphingCalculator: "graphingCalculator",
|
|
182
|
+
periodicTable: "periodicTable",
|
|
183
|
+
formulaSheet: "formulaSheet",
|
|
184
|
+
// Answer support
|
|
185
|
+
answerMasking: "answerMasking",
|
|
186
|
+
answerEliminator: "answerEliminator",
|
|
187
|
+
strikethrough: "strikethrough",
|
|
188
|
+
// Item features
|
|
189
|
+
itemGlossary: "itemGlossary",
|
|
190
|
+
tutorialAvailable: "tutorialAvailable",
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Flat list of all standard access features for validation
|
|
195
|
+
*/
|
|
196
|
+
export const ALL_STANDARD_ACCESS_FEATURES = Object.values(QTI_STANDARD_ACCESS_FEATURES).flatMap((category) => Object.values(category));
|
|
197
|
+
/**
|
|
198
|
+
* Example PNP configurations for common accessibility needs
|
|
199
|
+
* These are NOT official profiles but illustrative examples showing
|
|
200
|
+
* how standard features can be combined for different student needs.
|
|
201
|
+
*/
|
|
202
|
+
export const EXAMPLE_PNP_CONFIGURATIONS = {
|
|
203
|
+
/**
|
|
204
|
+
* Example: Student with low vision
|
|
205
|
+
*/
|
|
206
|
+
lowVision: {
|
|
207
|
+
label: "Example: Low Vision Support",
|
|
208
|
+
features: [
|
|
209
|
+
"magnification",
|
|
210
|
+
"screenMagnifier",
|
|
211
|
+
"highContrastDisplay",
|
|
212
|
+
"colorContrast",
|
|
213
|
+
"fontEnlargement",
|
|
214
|
+
"textToSpeech",
|
|
215
|
+
"alternativeText",
|
|
216
|
+
"describedMath",
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
/**
|
|
220
|
+
* Example: Student who is blind
|
|
221
|
+
*/
|
|
222
|
+
blind: {
|
|
223
|
+
label: "Example: Blind Student Support",
|
|
224
|
+
features: [
|
|
225
|
+
"textToSpeech",
|
|
226
|
+
"screenReader",
|
|
227
|
+
"alternativeText",
|
|
228
|
+
"longDescription",
|
|
229
|
+
"describedMath",
|
|
230
|
+
"braille",
|
|
231
|
+
"refreshableBraille",
|
|
232
|
+
"keyboardControl",
|
|
233
|
+
"structuralNavigation",
|
|
234
|
+
],
|
|
235
|
+
},
|
|
236
|
+
/**
|
|
237
|
+
* Example: Student who is deaf or hard of hearing
|
|
238
|
+
*/
|
|
239
|
+
deafHardOfHearing: {
|
|
240
|
+
label: "Example: Deaf/Hard of Hearing Support",
|
|
241
|
+
features: [
|
|
242
|
+
"captions",
|
|
243
|
+
"closedCaptions",
|
|
244
|
+
"signLanguage",
|
|
245
|
+
"transcript",
|
|
246
|
+
"visualLanguage",
|
|
247
|
+
"noBackgroundAudio",
|
|
248
|
+
],
|
|
249
|
+
},
|
|
250
|
+
/**
|
|
251
|
+
* Example: Student with dyslexia
|
|
252
|
+
*/
|
|
253
|
+
dyslexia: {
|
|
254
|
+
label: "Example: Dyslexia Support",
|
|
255
|
+
features: [
|
|
256
|
+
"textToSpeech",
|
|
257
|
+
"readAloud",
|
|
258
|
+
"highlighting",
|
|
259
|
+
"wordHighlighting",
|
|
260
|
+
"lineHighlighting",
|
|
261
|
+
"readingMask",
|
|
262
|
+
"readingGuide",
|
|
263
|
+
"fontFamily",
|
|
264
|
+
"lineSpacing",
|
|
265
|
+
"wordSpacing",
|
|
266
|
+
"simplifiedLanguage",
|
|
267
|
+
"dictionary",
|
|
268
|
+
],
|
|
269
|
+
},
|
|
270
|
+
/**
|
|
271
|
+
* Example: Student with ADHD
|
|
272
|
+
*/
|
|
273
|
+
adhd: {
|
|
274
|
+
label: "Example: ADHD Support",
|
|
275
|
+
features: [
|
|
276
|
+
"reducedDistraction",
|
|
277
|
+
"noFlashing",
|
|
278
|
+
"pauseAnimation",
|
|
279
|
+
"timingControl",
|
|
280
|
+
"extendedTime",
|
|
281
|
+
"highlighting",
|
|
282
|
+
"annotations",
|
|
283
|
+
"guidedNavigation",
|
|
284
|
+
"structuralNavigation",
|
|
285
|
+
],
|
|
286
|
+
},
|
|
287
|
+
/**
|
|
288
|
+
* Example: Student with motor limitations
|
|
289
|
+
*/
|
|
290
|
+
motorLimitations: {
|
|
291
|
+
label: "Example: Motor Limitations Support",
|
|
292
|
+
features: [
|
|
293
|
+
"keyboardControl",
|
|
294
|
+
"stickyKeys",
|
|
295
|
+
"keyboardShortcuts",
|
|
296
|
+
"voiceControl",
|
|
297
|
+
"switchControl",
|
|
298
|
+
"timingControl",
|
|
299
|
+
"extendedTime",
|
|
300
|
+
"unlimitedTime",
|
|
301
|
+
],
|
|
302
|
+
},
|
|
303
|
+
/**
|
|
304
|
+
* Example: English language learner
|
|
305
|
+
*/
|
|
306
|
+
englishLearner: {
|
|
307
|
+
label: "Example: English Language Learner Support",
|
|
308
|
+
features: [
|
|
309
|
+
"textToSpeech",
|
|
310
|
+
"translatedText",
|
|
311
|
+
"glossary",
|
|
312
|
+
"dictionary",
|
|
313
|
+
"simplifiedLanguage",
|
|
314
|
+
"readAloud",
|
|
315
|
+
"highlighting",
|
|
316
|
+
],
|
|
317
|
+
},
|
|
318
|
+
};
|
|
319
|
+
/**
|
|
320
|
+
* Helper to validate if a feature ID is a standard QTI 3.0 feature
|
|
321
|
+
*/
|
|
322
|
+
export function isStandardAccessFeature(featureId) {
|
|
323
|
+
return ALL_STANDARD_ACCESS_FEATURES.includes(featureId);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Helper to get category for a feature
|
|
327
|
+
*/
|
|
328
|
+
export function getFeatureCategory(featureId) {
|
|
329
|
+
for (const [category, features] of Object.entries(QTI_STANDARD_ACCESS_FEATURES)) {
|
|
330
|
+
if (Object.values(features).includes(featureId)) {
|
|
331
|
+
return category;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Helper to get all features in a category
|
|
338
|
+
*/
|
|
339
|
+
export function getFeaturesInCategory(category) {
|
|
340
|
+
return Object.values(QTI_STANDARD_ACCESS_FEATURES[category]);
|
|
341
|
+
}
|
|
342
|
+
//# sourceMappingURL=pnp-standard-features.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pnp-standard-features.js","sourceRoot":"","sources":["../../src/services/pnp-standard-features.ts"],"names":[],"mappings":"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"}
|