Skip to content

Commit f90bba0

Browse files
authored
fix(FileUpload): improve file removal a11y (#4607)
1 parent fbec29c commit f90bba0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+232
-69
lines changed

src/runtime/components/FileUpload.vue

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ export interface FileUploadSlots<M extends boolean = false> {
127127
import { computed, watch } from 'vue'
128128
import { Primitive } from 'reka-ui'
129129
import { createReusableTemplate } from '@vueuse/core'
130-
import { useAppConfig } from '#imports'
130+
import { useAppConfig, useLocale } from '#imports'
131131
import { useFormField } from '../composables/useFormField'
132132
import { useFileUpload } from '../composables/useFileUpload'
133133
import { tv } from '../utils/tv'
@@ -153,6 +153,8 @@ const modelValue = defineModel<(M extends true ? File[] : File) | null>()
153153
154154
const appConfig = useAppConfig() as FileUpload['AppConfig']
155155
156+
const { t } = useLocale()
157+
156158
const [DefineFilesTemplate, ReuseFilesTemplate] = createReusableTemplate()
157159
158160
const { isDragging, open, inputRef, dropzoneRef } = useFileUpload({
@@ -235,13 +237,17 @@ function removeFile(index?: number) {
235237
236238
if (!props.multiple || index === undefined) {
237239
onUpdate([], true)
240+
241+
dropzoneRef.value?.focus()
238242
return
239243
}
240244
241245
const files = [...modelValue.value as File[]]
242246
files.splice(index, 1)
243247
244248
onUpdate(files, true)
249+
250+
dropzoneRef.value?.focus()
245251
}
246252
247253
watch(modelValue, (newValue) => {
@@ -298,6 +304,7 @@ defineExpose({
298304
}),
299305
...typeof fileDelete === 'object' ? fileDelete : undefined
300306
}"
307+
:aria-label="t('fileUpload.removeFile', { filename: (file as File).name })"
301308
:trailing-icon="fileDeleteIcon || appConfig.ui.icons.close"
302309
:class="ui.fileTrailingButton({ class: props.ui?.fileTrailingButton })"
303310
@click.stop.prevent="removeFile(index)"

src/runtime/locale/ar.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ export default defineLocale<Messages>({
5454
},
5555
table: {
5656
noData: 'لا توجد بيانات'
57+
},
58+
fileUpload: {
59+
removeFile: 'إزالة {filename}'
5760
}
5861
}
5962
})

src/runtime/locale/az.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ export default defineLocale<Messages>({
5353
},
5454
table: {
5555
noData: 'Məlumat yoxdur'
56+
},
57+
fileUpload: {
58+
removeFile: '{filename} sil'
5659
}
5760
}
5861
})

src/runtime/locale/bg.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ export default defineLocale<Messages>({
5353
},
5454
table: {
5555
noData: 'Няма данни'
56+
},
57+
fileUpload: {
58+
removeFile: 'Премахни {filename}'
5659
}
5760
}
5861
})

src/runtime/locale/bn.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ export default defineLocale<Messages>({
5353
},
5454
table: {
5555
noData: 'কোন তথ্য নেই'
56+
},
57+
fileUpload: {
58+
removeFile: '{filename} সরান'
5659
}
5760
}
5861
})

src/runtime/locale/ca.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ export default defineLocale<Messages>({
5353
},
5454
table: {
5555
noData: 'Sense dades'
56+
},
57+
fileUpload: {
58+
removeFile: 'Eliminar {filename}'
5659
}
5760
}
5861
})

src/runtime/locale/ckb.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ export default defineLocale<Messages>({
5454
},
5555
table: {
5656
noData: 'هیچ داتایەک نییە'
57+
},
58+
fileUpload: {
59+
removeFile: '{filename} بسڕەوە'
5760
}
5861
}
5962
})

src/runtime/locale/cs.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ export default defineLocale<Messages>({
5353
},
5454
table: {
5555
noData: 'Žádná data'
56+
},
57+
fileUpload: {
58+
removeFile: 'Odebrat {filename}'
5659
}
5760
}
5861
})

src/runtime/locale/da.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ export default defineLocale<Messages>({
5353
},
5454
table: {
5555
noData: 'Ingen data'
56+
},
57+
fileUpload: {
58+
removeFile: 'Fjern {filename}'
5659
}
5760
}
5861
})

src/runtime/locale/de.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ export default defineLocale<Messages>({
5353
},
5454
table: {
5555
noData: 'Keine Daten'
56+
},
57+
fileUpload: {
58+
removeFile: '{filename} entfernen'
5659
}
5760
}
5861
})

0 commit comments

Comments
 (0)