Expose Aria labbeling to PSU Elements/Controls for WCAG compliance
3 votes
Currently, there seems to be no way to make apps complaint with WCAG standards for screen reader support.
Consider the following:
New-UDTextbox -Id 'HardWords' -Label 'Nougat Croissant Valet'
The screenreader may read the label as "noujet Croi-sant val-it", a known issue with screen readers.
This is what Aria-Label would be used for in web development.
A new property on all the elements such as -Aria-Label "noo-gah Krwah-sahn val-ay" would resolve this issue.
A even better solution is a way to inject HTML tag attributes into any element in the same fashion as New-UDStyle for styling such as New-UDAttributes or a similar name.
This seems like it would be a good addition to the product. We'll look into the best approach to solve this.
Additionally, I should've mentioned that it should probably also expose aria-labelledby for being able to tie labels to elements with alternate pronunciation .
@wutzanspm We'll make sure to evaluate all the aria attributes we might need to adequately support this. It might be nice to have a command just for aria attributes and pass the result into each supported component to avoid having to inflate the parameter sets of all commands.
New-UDTextbox -Aria {
New-UDAriaAttribute -Label -Value "xyz"
New-UDAriaAttribute -LabelledBy -Value "xyz"
}Adam Driscoll
PowerShell Expert and Developer at Devolutions
@wutzanspm We'll make sure to evaluate all the aria attributes we might need to adequately support this. It might be nice to have a command just for aria attributes and pass the result into each supported component to avoid having to inflate the parameter sets of all commands.
New-UDTextbox -Aria {
New-UDAriaAttribute -Label -Value "xyz"
New-UDAriaAttribute -LabelledBy -Value "xyz"
}
@Adam Driscoll
This makes good sense.
I also think limiting parameters and reducing clutter is the best way forward.
On that note, would it make more sense to just have a general -Attributes property on elements or is that too much work / doesn't make design sense on your end?
It would resolve this issue and potentially give more options for other developers.
@wutzanspm We certainly could allow that. We do something similar with New-UDElement. Having a broad, open API surface like that could lead to hard to find problems caused by attributes we don't expect. That said, I will consider this when looking at an architecture of it because it does simplify both the implementation and usage of it.
Adam Driscoll
PowerShell Expert and Developer at Devolutions