minor screen reader improvements
This commit is contained in:
@@ -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({
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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"),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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"),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -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"),
|
||||
),
|
||||
];
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user