Skip to content

Commit 9ed3fee

Browse files
committed
fix(a11y): name every progress bar
A progressbar with values but no name announces a bare percentage — the heading beside it is visual context a screen reader does not get from the node. Seven were unnamed; each takes the wording already shown next to it, reusing the existing key where one exists rather than inventing new copy for the same string. Verified per instance rather than by proximity: an earlier grep checked a fixed window after the first <Progress> in each file, which would have mis-judged files with several.
1 parent 005ece4 commit 9ed3fee

8 files changed

Lines changed: 27 additions & 2 deletions

File tree

frontend/editor/public/locales/en-US/translation.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2059,6 +2059,7 @@ title = "Smart Renaming"
20592059

20602060
[automate]
20612061
copyToSaved = "Copy to Saved"
2062+
runProgress = "Automation progress"
20622063
desc = "Build multi-step workflows by chaining together PDF actions. Ideal for recurring tasks."
20632064
export = "Export"
20642065
exportForFolderScanning = "Export for Folder Scanning"
@@ -4251,6 +4252,7 @@ issues = "GitHub"
42514252

42524253
[formFill]
42534254
allSaved = "All saved"
4255+
completionProgress = "Form completion"
42544256
extractCsvError = "Failed to extract CSV"
42554257
extractXlsxError = "Failed to extract XLSX"
42564258
flattenAfterFilling = "Flatten after filling"
@@ -10832,6 +10834,7 @@ title = "Unlocked Forms Results"
1083210834

1083310835
[update]
1083410836
allReleases = "All Releases"
10837+
downloadProgress = "Download progress"
1083510838
breaking = "Breaking"
1083610839
breakingChanges = "Breaking Changes"
1083710840
breakingChangesDefault = "This version contains breaking changes."

frontend/editor/src/core/components/shared/UpdateModal.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -810,6 +810,10 @@ const UpdateModal: React.FC<UpdateModalProps> = ({
810810
size="lg"
811811
animated
812812
radius="xl"
813+
aria-label={t(
814+
"update.downloadProgress",
815+
"Download progress",
816+
)}
813817
/>
814818
{desktopInstall.state === "installing" && (
815819
<Alert variant="light" color="blue" radius="sm" py="xs">

frontend/editor/src/core/components/shared/WorkbenchBar.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ export default function WorkbenchBar({
174174
value={enforcingProgress}
175175
striped
176176
animated
177+
aria-label={t("policy.enforcingTitle", "Enforcing policy…")}
177178
/>
178179
) : (
179180
<Loader size="xs" />

frontend/editor/src/core/components/tools/automate/AutomationRun.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,11 @@ export default function AutomationRun({
183183
<Text size="sm" mb="xs">
184184
Progress: {currentStepIndex + 1}/{executionSteps.length}
185185
</Text>
186-
<Progress value={getProgress()} size="lg" />
186+
<Progress
187+
value={getProgress()}
188+
size="lg"
189+
aria-label={t("automate.runProgress", "Automation progress")}
190+
/>
187191
</div>
188192
)}
189193

frontend/editor/src/core/components/tools/pdfTextEditor/PdfTextEditorView.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1752,6 +1752,10 @@ const PdfTextEditorView = ({ data }: PdfTextEditorViewProps) => {
17521752
value={conversionProgress?.percent || 0}
17531753
size="lg"
17541754
radius="md"
1755+
aria-label={t(
1756+
"pdfTextEditor.converting",
1757+
"Converting PDF to editable format...",
1758+
)}
17551759
/>
17561760
</Stack>
17571761
</Card>

frontend/editor/src/core/components/viewer/ViewerShareButton.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ export default function ViewerShareButton({
9494
value={enforcingProgress}
9595
striped
9696
animated
97+
aria-label={t("policy.enforcingTitle", "Enforcing policy…")}
9798
/>
9899
) : (
99100
<Loader size="xs" />

frontend/editor/src/core/pages/MobileScannerPage.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1053,7 +1053,11 @@ export default function MobileScannerPage() {
10531053
<Text size="sm" mb="xs">
10541054
{t("mobileScanner.uploading", "Uploading...")}
10551055
</Text>
1056-
<Progress value={uploadProgress} animated />
1056+
<Progress
1057+
value={uploadProgress}
1058+
animated
1059+
aria-label={t("mobileScanner.uploading", "Uploading...")}
1060+
/>
10571061
</Box>
10581062
)}
10591063

frontend/editor/src/core/tools/formFill/FormFill.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,10 @@ const FormFill = (_props: BaseToolProps) => {
486486
}
487487
size={6}
488488
radius="xl"
489+
aria-label={t(
490+
"formFill.completionProgress",
491+
"Form completion",
492+
)}
489493
color={
490494
filledRequiredCount === requiredCount ? "teal" : "blue"
491495
}

0 commit comments

Comments
 (0)