Creating a new App Page with the same name as another page causes PSU to replace the existing page
When creating pages within an app, if there is already a page existing with that name PSU will overwrite the existing page code with the standard new template page. The PSU also starts to freeze at this point until the service is restarted.
I believe PSU is replacing the .ps1 file in Repository\dashboards\[Appname]\pages[pagename].ps1
Where [pagename].ps1 is being replaced with a standard template.
Steps to reproduce:
Have an existing page with code that is different than the template. E.g: page name is Test
Click "Create App Page"
Enter "Test" as the name. URL can be anything
After creation, PSU has replaced test.ps1 with a template.
PSU is now freezing on the Pages tab of the App.
Suggested resolution:
-Check if .ps1 exists before replacing.
-Inform user that it already exists with a dialog and ask if they want to rename or if they want to continue to replace the .ps1 file / page.
Expose Aria labbeling to PSU Elements/Controls for WCAG compliance
@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.
Expose Aria labbeling to PSU Elements/Controls for WCAG compliance
Additionally, I should've mentioned that it should probably also expose aria-labelledby for being able to tie labels to elements with alternate pronunciation .
Expose Aria labbeling to PSU Elements/Controls for WCAG compliance
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.