Improves the create account modal for screen readers by doing the following:
* Making the `modal-alert` section into an `aria-role="alert"` region and making it show and hide using height instead of display:none so screen readers pick it up. Made a change so the field-related error messages are always shown beneath the field.
* Add `aria-invalid` and `aria-describedby` attributes to each field in the modal, so the screen reader will read out the error hint on error. This necessitated an Ember component extension to allow both the `aria-*` attributes to be bound and to render on `{{input}}`.
* Moved the social login buttons to the right in the HTML structure so they are not read out first.
* Added `aria-label` attributes to the login buttons so they can have different content for screen readers.
* In some cases for modals, the title that should be used for the `aria-labelledby` attribute is within the modal content and not the discourse-modal-title title. This introduces a new titleAriaElementId property to the d-modal component that is then used by the create-account modal to read out the title
------
This is the same as e0d2de73d8 but
fixes the Ember-input-component-extension to use the public
Ember components TextField and TextArea instead of the private
TextSupport so the extension works in both normal Ember and
Ember CLI.
14 lines
299 B
Handlebars
14 lines
299 B
Handlebars
{{#d-modal
|
|
modalClass=modalClass
|
|
title=title
|
|
titleAriaElementId=titleAriaElementId
|
|
subtitle=subtitle
|
|
panels=panels
|
|
selectedPanel=selectedPanel
|
|
onSelectPanel=onSelectPanel
|
|
class="hidden"
|
|
errors=errors
|
|
closeModal=(route-action "closeModal")}}
|
|
{{outlet "modalBody"}}
|
|
{{/d-modal}}
|