minor screen reader improvements

This commit is contained in:
Gani Georgiev
2026-04-18 22:11:42 +03:00
parent 624c3357be
commit 075e20efae
88 changed files with 298 additions and 256 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ export function input(props) {
{ className: "field" },
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.date.icon }),
t.i({ className: app.fieldTypes.date.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => props.field.name),
),
t.input({
+1 -1
View File
@@ -33,7 +33,7 @@ export function input(props) {
{ className: "field" },
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.editor.icon }),
t.i({ className: app.fieldTypes.editor.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => props.field.name),
),
() => local.lazyEditor,
+1 -1
View File
@@ -13,7 +13,7 @@ export function input(props) {
{ className: "field" },
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.email.icon }),
t.i({ className: app.fieldTypes.email.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => props.field.name),
),
t.input({
+4 -4
View File
@@ -126,7 +126,7 @@ export function input(props) {
{ className: () => `field ${props.field.required ? "required" : ""}` },
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.file.icon }),
t.i({ className: app.fieldTypes.file.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => props.field.name),
),
fileInput,
@@ -204,11 +204,11 @@ export function input(props) {
{
type: "button",
className: "btn sm secondary transparent circle",
ariaDescription: app.attrs.tooltip("Remove file"),
ariaLabel: app.attrs.tooltip("Remove file"),
hidden: () => isDeleted(nameOrFile),
onclick: () => toDelete(nameOrFile),
},
t.i({ className: "ri-close-line" }),
t.i({ className: "ri-close-line", ariaHidden: true }),
),
t.button(
{
@@ -240,7 +240,7 @@ export function input(props) {
document.activeElement?.blur();
},
},
t.i({ className: "ri-upload-cloud-line" }),
t.i({ className: "ri-upload-cloud-line", ariaHidden: true }),
t.span({ className: "txt" }, "Upload or drop new file"),
),
),
+1 -1
View File
@@ -17,7 +17,7 @@ export function input(data) {
{ className: () => `field-list ${data.field.required ? "required" : ""}` },
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.geoPoint.icon }),
t.i({ className: app.fieldTypes.geoPoint.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => data.field.name),
),
t.div(
+3 -3
View File
@@ -71,7 +71,7 @@ export function input(props) {
},
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.json.icon }),
t.i({ className: app.fieldTypes.json.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => props.field.name),
t.span(
{
@@ -79,7 +79,7 @@ export function input(props) {
className: "json-state",
ariaDescription: app.attrs.tooltip("Invalid JSON", "left"),
},
t.i({ className: "ri-error-warning-fill txt-danger" }),
t.i({ className: "ri-error-warning-fill txt-danger", ariaHidden: true }),
),
t.span(
{
@@ -87,7 +87,7 @@ export function input(props) {
className: "json-state",
ariaDescription: app.attrs.tooltip("Valid JSON", "left"),
},
t.i({ className: "ri-checkbox-circle-fill txt-success" }),
t.i({ className: "ri-checkbox-circle-fill txt-success", ariaHidden: true }),
),
),
app.components.codeEditor({
+1
View File
@@ -65,6 +65,7 @@ export function settings(data) {
t.span({ className: "txt" }, "String value normalizations"),
t.i({
className: () => (local.showInfo ? "ri-arrow-up-s-line" : "ri-arrow-down-s-line"),
ariaHidden: true,
}),
),
app.components.slide(
+1 -1
View File
@@ -13,7 +13,7 @@ export function input(props) {
{ className: "field" },
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.number.icon }),
t.i({ className: app.fieldTypes.number.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => props.field.name),
),
t.input({
+4 -4
View File
@@ -107,7 +107,7 @@ export function input(props) {
{ className: () => `field ${props.field.required ? "required" : ""}` },
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.relation.icon }),
t.i({ className: app.fieldTypes.relation.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => props.field.name),
),
t.output(
@@ -150,10 +150,10 @@ export function input(props) {
t.button(
{
className: "btn sm secondary transparent circle",
ariaDescription: app.attrs.tooltip("Remove"),
ariaLabel: app.attrs.tooltip("Remove"),
onclick: () => remove(record.id),
},
t.i({ className: "ri-close-line" }),
t.i({ className: "ri-close-line", ariaHidden: true }),
),
),
);
@@ -181,7 +181,7 @@ export function input(props) {
});
},
},
t.i({ className: "ri-magic-line" }),
t.i({ className: "ri-magic-line", ariaHidden: true }),
t.span({ className: "txt" }, "Open records picker"),
),
),
+1 -1
View File
@@ -71,7 +71,7 @@ export function settings(props) {
});
},
},
t.i({ className: "ri-add-line" }),
t.i({ className: "ri-add-line", ariaHidden: true }),
t.span({ className: "txt" }, "New collection"),
),
];
+1 -1
View File
@@ -13,7 +13,7 @@ export function input(data) {
{ className: "field" },
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.select.icon }),
t.i({ className: app.fieldTypes.select.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => data.field.name),
),
app.components.select({
+1
View File
@@ -28,6 +28,7 @@ export function input(props) {
t.label(
{ htmlFor: uniqueId },
t.i({
ariaHidden: true,
className: () => (props.field.primaryKey ? "ri-key-line" : app.fieldTypes.text.icon),
}),
t.span({ className: "txt" }, () => props.field.name),
+1 -1
View File
@@ -13,7 +13,7 @@ export function input(props) {
{ className: "field" },
t.label(
{ htmlFor: uniqueId },
t.i({ className: app.fieldTypes.url.icon }),
t.i({ className: app.fieldTypes.url.icon, ariaHidden: true }),
t.span({ className: "txt" }, () => props.field.name),
),
t.input({