Skip to content

web/a11y: Flow Search#15876

Merged
GirlBossRush merged 15 commits intomainfrom
a11y-flow-search
Sep 17, 2025
Merged

web/a11y: Flow Search#15876
GirlBossRush merged 15 commits intomainfrom
a11y-flow-search

Conversation

@GirlBossRush
Copy link
Contributor

@GirlBossRush GirlBossRush commented Jul 30, 2025

Dependencies

Details

This PR prepares the flow search components for use in a screen reader and e2e test suite. The changes here represent a partial implementation of accessibility, curated for an approachable PR review.

  • Fix issue where escape key closes modal when selecting search select item
  • Clean up mismatch of instance bound methods

Checklist

  • Local tests pass (ak test authentik/)
  • The code has been formatted (make lint-fix)

If an API change has been made

  • The API schema has been updated (make gen-build)

If changes to the frontend have been made

  • The code has been formatted (make web)

If applicable

  • The documentation has been updated
  • The documentation has been formatted (make docs)

@GirlBossRush GirlBossRush self-assigned this Jul 30, 2025
@GirlBossRush GirlBossRush requested a review from a team as a code owner July 30, 2025 01:27
@GirlBossRush GirlBossRush added the a11y Features or issues related to accessibility label Jul 30, 2025
@netlify
Copy link

netlify bot commented Jul 30, 2025

Deploy Preview for authentik-docs canceled.

Name Link
🔨 Latest commit d9c808d
🔍 Latest deploy log https://app.netlify.com/projects/authentik-docs/deploys/68caf9e9feb25000086b7062

@netlify
Copy link

netlify bot commented Jul 30, 2025

Deploy Preview for authentik-storybook ready!

Name Link
🔨 Latest commit d9c808d
🔍 Latest deploy log https://app.netlify.com/projects/authentik-storybook/deploys/68caf9e99ae8ab00081cbdbd
😎 Deploy Preview https://deploy-preview-15876--authentik-storybook.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Jul 30, 2025

Deploy Preview for authentik-integrations canceled.

Name Link
🔨 Latest commit d9c808d
🔍 Latest deploy log https://app.netlify.com/projects/authentik-integrations/deploys/68caf9e9eed440000823f0cd

@codecov
Copy link

codecov bot commented Jul 30, 2025

✅ All tests passed in 4029.72s

@github-actions
Copy link
Contributor

github-actions bot commented Jul 30, 2025

authentik PR Installation instructions

Instructions for docker-compose

Add the following block to your .env file:

AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-d9c808d5fe8585520758bf3e0efa04bad9030238
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 Kubernetes

Add the following block to your values.yml file:

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-d9c808d5fe8585520758bf3e0efa04bad9030238

Afterwards, run the upgrade commands from the latest release notes.

@GirlBossRush GirlBossRush changed the title web: a11y -- Flow Search web/a11y: Flow Search Jul 30, 2025
@GirlBossRush GirlBossRush mentioned this pull request Jul 30, 2025
6 tasks
@GirlBossRush GirlBossRush changed the base branch from main to a11y-form-errors August 3, 2025 17:46
@GirlBossRush GirlBossRush changed the base branch from a11y-form-errors to a11y-functional-label-components August 3, 2025 17:47
@GirlBossRush GirlBossRush force-pushed the a11y-functional-label-components branch from 6cd91f9 to fa9e7fc Compare August 3, 2025 18:09
@GirlBossRush GirlBossRush force-pushed the a11y-functional-label-components branch from fa9e7fc to bb636e7 Compare August 4, 2025 09:56
@GirlBossRush GirlBossRush force-pushed the a11y-functional-label-components branch 4 times, most recently from f93387c to 2ad644f Compare August 5, 2025 16:26
@GirlBossRush GirlBossRush force-pushed the a11y-functional-label-components branch from 2ad644f to 50deedb Compare August 5, 2025 22:23
@GirlBossRush GirlBossRush requested a review from a team as a code owner August 5, 2025 22:23
@GirlBossRush GirlBossRush force-pushed the a11y-functional-label-components branch from 50deedb to 7ab6db0 Compare August 6, 2025 17:13
Base automatically changed from a11y-functional-label-components to main August 12, 2025 14:34
@GirlBossRush GirlBossRush force-pushed the a11y-flow-search branch 2 times, most recently from ca3879a to 85411ae Compare August 29, 2025 14:15
@GirlBossRush GirlBossRush force-pushed the a11y-flow-search branch 3 times, most recently from feb610d to 6b7d9b1 Compare September 15, 2025 11:23
Copy link
Contributor

@kensternberg-authentik kensternberg-authentik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes I see all look coherent. A few suggestions, but otherwise it's all fine.


@property({ type: String })
help = "";
help?: string;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how this, er, helps? :-) Especially given your aversion to undefined.

autocomplete=${ifDefined(code ? "off" : this.autocomplete)}
spellcheck=${ifDefined(code ? "false" : undefined)}
aria-label=${ifDefined(this.placeholder || this.label)}
aria-label=${ifDefined(this.placeholder || this.label || undefined)}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This idiom is in a lot of places. Suggestion: replace all of these with a new directive, derived from the existing idiom:

import { ifDefined } from 'lit/directives/if-defined.js';
const whenSet = (value) =>
  ifDefined(value === '' ? undefined : (value ?? undefined)); 


public override connectedCallback() {
super.connectedCallback();

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Event listeners applied to this do not need to be attached and detached; that's a mistake I made early on. You can just put them on the constructor and be done with them; they're removed and garbage-collected automatically and correctly when the component is destroyed.

You do not need to change this.. It works. I'm just pointing out that it's slightly less efficient than set-and-forget on the constructor.

// into forms.
value!: (element: T | undefined) => string;
/**
* A function passed to this object that extracts an HTML representation of additional
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't exactly extract, does it?

@GirlBossRush GirlBossRush enabled auto-merge (squash) September 17, 2025 18:16
@GirlBossRush GirlBossRush merged commit 75d1771 into main Sep 17, 2025
107 checks passed
@GirlBossRush GirlBossRush deleted the a11y-flow-search branch September 17, 2025 18:35
kensternberg-authentik added a commit that referenced this pull request Sep 19, 2025
* main: (58 commits)
  web: bump the esbuild group across 2 directories with 4 updates (#16868)
  core, web: update translations (#16864)
  core: bump astral-sh/uv from 0.8.17 to 0.8.18 (#16866)
  website: bump @types/node from 24.5.1 to 24.5.2 in /website (#16867)
  web: bump @types/node from 24.5.1 to 24.5.2 in /packages/esbuild-plugin-live-reload (#16869)
  web: bump pino from 9.9.5 to 9.10.0 in /packages/esbuild-plugin-live-reload (#16870)
  web: bump @types/node from 24.5.1 to 24.5.2 in /packages/prettier-config (#16871)
  web: bump @types/node from 22.15.19 to 24.5.2 in /web (#16872)
  web: bump dompurify from 3.2.6 to 3.2.7 in /web (#16873)
  web: bump pino from 9.9.5 to 9.10.0 in /web (#16874)
  web: bump vite from 7.1.5 to 7.1.6 in /web (#16875)
  web: bump chromedriver from 140.0.2 to 140.0.3 in /web (#16876)
  lifecycle/aws: bump aws-cdk from 2.1029.1 to 2.1029.2 in /lifecycle/aws (#16877)
  web: Fix docs links, a11y input descriptors (#16671)
  website: bump the eslint group in /website with 3 updates (#16788)
  website: bump the build group in /website with 3 updates (#16787)
  web: bump the eslint group across 2 directories with 3 updates (#16790)
  website/docs: extends the example to include `jwt_config` for matrix/synapse (#16860)
  web/a11y: Flow Search (#15876)
  web: bump API Client version, remove Webdriver dependencies (#16836)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a11y Features or issues related to accessibility

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants