createAcxOverlayContainer function
Creates an overlay container inside the parent
if one does not exist
already.
A hidden focusable element is inserted before and after the overlay
container to support a11y features.
Implementation
HtmlElement createAcxOverlayContainer(Object parent,
{required String id, required String name, String? className}) {
if (parent is! HtmlElement) {
throw ArgumentError("Not a HtmlElement type");
}
var container = parent.querySelector('#$id');
if (container == null) {
container = DivElement()
..id = id
..classes.add(overlayContainerClassName);
if (className != null) container.classes.add(className);
parent.append(container);
}
container.attributes[overlayContainerNameAttribute] = name;
return container as HtmlElement;
}