From 8ca9b91bf36bd666e5d4c5d1296f01ac6eec2125 Mon Sep 17 00:00:00 2001 From: Henry Castro Date: Tue, 28 Jan 2025 07:12:19 -0400 Subject: [PATCH] browser: accessibility: add attribute 'aria-controls' https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/ Change-Id: Ie6e2c9487ed1e86a7570fd60a1b4424366c792fd Signed-off-by: Henry Castro --- browser/src/control/Control.JSDialogBuilder.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/browser/src/control/Control.JSDialogBuilder.js b/browser/src/control/Control.JSDialogBuilder.js index 69d8fb7cefec9..eb43de4dd6569 100644 --- a/browser/src/control/Control.JSDialogBuilder.js +++ b/browser/src/control/Control.JSDialogBuilder.js @@ -720,11 +720,13 @@ L.Control.JSDialogBuilder = L.Control.extend({ var expanded = data.expanded === true || (data.children[0] && data.children[0].checked === true); if (data.children[0].text && data.children[0].text !== '') { + var prefix = data.children[0].id ? data.children[0].id : data.id; var expander = L.DomUtil.create('button', 'ui-expander ' + builder.options.cssClass, container); expander.tabIndex = '0'; + expander.setAttribute('aria-controls', prefix + '-children'); var label = L.DomUtil.create('span', 'ui-expander-label ' + builder.options.cssClass, expander); label.innerText = builder._cleanText(data.children[0].text); - label.id = data.children[0].id ? data.children[0].id : data.id + '-label'; + label.id = prefix + '-label'; if (data.children[0].visible === false) L.DomUtil.addClass(label, 'hidden'); builder.postProcess(expander, data.children[0]); @@ -757,6 +759,7 @@ L.Control.JSDialogBuilder = L.Control.extend({ } var expanderChildren = L.DomUtil.create('div', 'ui-expander-content ' + builder.options.cssClass, container); + expanderChildren.id = prefix + '-children'; if (expanded) $(expanderChildren).addClass('expanded');