From afb7e4886b97c65115cd3c225d4957727f310d5a Mon Sep 17 00:00:00 2001 From: bananarama92 <bananarama921@outlook.com> Date: Sun, 30 Mar 2025 21:12:22 +0200 Subject: [PATCH] MAINT: Use DOM lists for the crafted dialog panel --- BondageClub/CSS/dialog.css | 6 ++++++ BondageClub/Scripts/Dialog.js | 31 +++++++++++++++++++++---------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/BondageClub/CSS/dialog.css b/BondageClub/CSS/dialog.css index 59b36a1643..3425554484 100644 --- a/BondageClub/CSS/dialog.css +++ b/BondageClub/CSS/dialog.css @@ -222,6 +222,12 @@ "dialog-crafted-footer dialog-crafted-footer dialog-crafted-footer dialog-crafted-footer" minmax(auto, min-content) / auto var(--gap) min(100%, calc(0.8 * var(--button-height))) var(--scrollbar-gutter) } +#dialog-crafted ul { + padding: unset; + margin: unset; + list-style-type: none; +} + .dialog-crafted-info { font: inherit; overflow-wrap: break-word; diff --git a/BondageClub/Scripts/Dialog.js b/BondageClub/Scripts/Dialog.js index b1c85b242b..995ed05327 100644 --- a/BondageClub/Scripts/Dialog.js +++ b/BondageClub/Scripts/Dialog.js @@ -4066,6 +4066,7 @@ class _DialogCraftedMenu extends _DialogFocusMenu { const ids = this.ids; return document.getElementById(ids.root) ?? ElementCreate({ tag: "div", + attributes: { "aria-owns": ids.icon }, children: [ { tag: "span", @@ -4073,23 +4074,33 @@ class _DialogCraftedMenu extends _DialogFocusMenu { classList: ["dialog-status", "scroll-box"], }, { - tag: "div", + tag: "ul", attributes: { id: ids.info, "aria-labelledby": ids.status }, children: [ - { tag: "span", attributes: { id: ids.name }, classList: [ids.info] }, - { tag: "span", attributes: { id: ids.crafter }, classList: [ids.info] }, - { tag: "span", attributes: { id: ids.property }, classList: [ids.info] }, - { tag: "span", attributes: { id: ids.private }, classList: [ids.info] }, - { tag: "div", attributes: { id: ids.gap } }, - { tag: "div", classList: ["button", "blank-button", "button-styling", "dialog-grid-button", "dialog-icon"], attributes: { id: ids.icon } }, + { tag: "li", attributes: { id: ids.name }, classList: [ids.info] }, + { tag: "li", attributes: { id: ids.crafter }, classList: [ids.info] }, + { tag: "li", attributes: { id: ids.property }, classList: [ids.info] }, + { tag: "li", attributes: { id: ids.private }, classList: [ids.info] }, + { tag: "div", attributes: { id: ids.gap, "aria-hidden": "true" } }, { tag: "div", + classList: ["button", "blank-button", "button-styling", "dialog-grid-button", "dialog-icon"], + attributes: { id: ids.icon, role: "img", "aria-labelledby": `${ids.icon}-label` }, + }, + { + tag: "li", attributes: { id: ids.footer }, classList: [ids.info, "scroll-box"], children: [ - { tag: "span", attributes: { id: ids.description } }, - ], - }, + { + tag: "ul", + children: [ + { tag: "li", attributes: { id: ids.description } }, + ], + }, + ] + } + ], }, ],