-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
web/a11y: Codemirror #16010
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
web/a11y: Codemirror #16010
Conversation
✅ Deploy Preview for authentik-integrations canceled.
|
✅ Deploy Preview for authentik-storybook ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for authentik-docs canceled.
|
❌ 1 Tests Failed:
View the full list of 1 ❄️ flaky tests
To view more test analytics, go to the Test Analytics Dashboard |
25e0737
to
18f76de
Compare
18f76de
to
1f0a661
Compare
authentik PR Installation instructions Instructions for docker-composeAdd the following block to your AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-18f76de03deeb810566c04db9d372431b895f6bf
AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE=ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s Afterwards, run the upgrade commands from the latest release notes. Instructions for KubernetesAdd the following block to your authentik:
outposts:
container_image_base: ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s
global:
image:
repository: ghcr.io/goauthentik/dev-server
tag: gh-18f76de03deeb810566c04db9d372431b895f6bf Afterwards, run the upgrade commands from the latest release notes. |
#focusListener = () => { | ||
this.#editor?.contentDOM?.focus(); | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note, while this works when a form error is shown, clicking an associated label is supported in #16011
* | ||
* @see {@linkcode WithInternals} | ||
*/ | ||
export interface InternalsMixin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a lot more formAssociated
than it is elementInternals
. ElementInternals has three separate uses, sadly; I think the W3C is just hanging off it "everything we wanted to do that we can't otherwise." It does form association, custom state management, and ARIA integration, plus it's an extra check on components because internals is where the shadowDOM reference is actually kept.
Consider (a) changing the name to formAssociatedMixin
, and (b) checking that the component does not already have an internals
field. Or make "adding internals" either it's own Mixin that you automatically include with this one (with that check, or find one of the "mixin dedup" functions Justin Fagnani has mentioned), or, you know, just add internals to the base class of the component library.
Details
This PR resolves a collection of accessibility issues in the Codemirror web component. In addition to fleshing out Codemirror's lifecycle with Lit, our element now makes use of
ElementInternals
, allowing for a more native form input serialization.See also