Skip to content

Commit 2dc345b

Browse files
committed
VPR-104 fix(a11y): CTS area accessibility improvements (PR 3 of 6)
- Fix heading hierarchy: h2 → h1 on all 16 Vue pages, add h1 to Razor views - Add route focus management via useRouteFocus composable (C4) - Add aria-label to icon-only edit buttons on ManageDomains, ManageEpas, ManageLevels, ManageBundles, ManageRoles (Vue + Razor) - Add aria-label to bundle competencies link buttons - Fix ManageDomains.cshtml: add label props to inputs, move h3 outside q-list - Add alt text to student photo in AssessmentEpaEdit - Strict equality fixes and code quality cleanup in Razor views
1 parent e15b8cf commit 2dc345b

24 files changed

Lines changed: 76 additions & 64 deletions

VueApp/src/CTS/pages/AssessmentCompetency.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ const milestoneLevels = ref([
6363
function submitMilestone() {}
6464
</script>
6565
<template>
66-
<h2>Competency Assessment</h2>
66+
<h1>Competency Assessment</h1>
6767
<div class="row justify-between items-center q-mb-lg">
6868
<div class="col-12 col-md-6">
6969
<h2 class="epa text-weight-regular">{{ competency.number }} {{ competency.name }}</h2>

VueApp/src/CTS/pages/AssessmentEpaEdit.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ getStudentEpa()
109109
class="smallPhoto rounded-borders"
110110
loading="eager"
111111
:no-spinner="true"
112+
:alt="`${studentEpa.studentName}'s photo`"
112113
></q-img>
113114
</q-avatar>
114115
</div>

VueApp/src/CTS/pages/AssessmentList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ loadPageData()
138138
</script>
139139

140140
<template>
141-
<h2>View Assessments</h2>
141+
<h1>View Assessments</h1>
142142

143143
<q-form>
144144
<div class="row">

VueApp/src/CTS/pages/AuditList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ loadAreas()
121121
</script>
122122

123123
<template>
124-
<h2>View Audit Log</h2>
124+
<h1>View Audit Log</h1>
125125
<q-form>
126126
<div class="row">
127127
<div class="col-12 col-md-6 col-lg-3">

VueApp/src/CTS/pages/CourseStudents.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { ref } from "vue"
33
const student = ref("")
44
</script>
55
<template>
6-
<h2>Students for VET430 Lab 1 Challenging Communication - Simulated Lab with Actors and Video</h2>
6+
<h1>Students for VET430 Lab 1 Challenging Communication - Simulated Lab with Actors and Video</h1>
77

88
<h3>Add Student(s)</h3>
99
<div class="row q-mb-md">

VueApp/src/CTS/pages/CtsHome.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<div v-if="loadHome">
3-
<h2>Competency Tracking System (CTS)</h2>
3+
<h1>Competency Tracking System (CTS)</h1>
44
<p>
55
The Council on Education has mandated that veterinary graduates must have the basic scientific knowledge,
66
skills and values to practice veterinary medicine, independently, at the time of graduation. At a minimum,

VueApp/src/CTS/pages/ManageBundleCompetencies.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ load()
199199
</script>
200200
<template>
201201
<div v-if="bundle != null">
202-
<h2>Competencies for Bundle {{ bundle?.name }}</h2>
202+
<h1>Competencies for Bundle {{ bundle?.name }}</h1>
203203
<q-btn
204204
dense
205205
no-caps

VueApp/src/CTS/pages/ManageBundles.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ async function removeBundle() {
8282
load()
8383
</script>
8484
<template>
85-
<h2>Manage Bundles</h2>
85+
<h1>Manage Bundles</h1>
8686
<q-card flat>
8787
<q-form @submit="save()">
8888
<h3>{{ bundle?.bundleId == null ? "Add Bundle" : "Update Bundle" }}</h3>
@@ -176,6 +176,7 @@ load()
176176
dense
177177
size="sm"
178178
icon="edit"
179+
aria-label="Edit bundle"
179180
@click="selectBundle(props.row)"
180181
color="primary"
181182
></q-btn>
@@ -199,6 +200,7 @@ load()
199200
class="q-mr-md"
200201
icon="list"
201202
color="primary"
203+
aria-label="View competencies"
202204
:to="'ManageBundleCompetencies?bundleId=' + props.row.bundleId"
203205
></q-btn>
204206
{{ props.row.competencyCount }}

VueApp/src/CTS/pages/ManageCompetencies.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ watch(
111111
load()
112112
</script>
113113
<template>
114-
<h2>Manage Competencies</h2>
114+
<h1>Manage Competencies</h1>
115115
<q-dialog
116116
v-model="showForm"
117117
@hide="clearComp()"

VueApp/src/CTS/pages/ManageDomains.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ getDomains()
5151
</script>
5252

5353
<template>
54-
<h2>Manage Domains</h2>
54+
<h1>Manage Domains</h1>
5555
<q-form
5656
method="post"
5757
@submit="save"
@@ -142,6 +142,7 @@ getDomains()
142142
dense
143143
flat
144144
class="secondary"
145+
aria-label="Edit domain"
145146
@click="domain = d"
146147
></q-btn>
147148
</q-item-section>

0 commit comments

Comments
 (0)