Skip to content

Conversation

@ScharfViktor
Copy link
Contributor

@ScharfViktor ScharfViktor commented Sep 9, 2025

related:
#819
#886
#889

After a full system scan, the test detected:

  • 13 critical accessibility issues
  • 19 serious accessibility issues
  • 6 minor accessibility issues

test output:

pnpm test:e2e:cucumber tests/e2e/cucumber/features/a11y/smoke.feature

> @3.3.0 test:e2e:cucumber /Users/v.scharf/Work/opencloud/web
> NODE_TLS_REJECT_UNAUTHORIZED=0 TS_NODE_PROJECT=./tests/e2e/cucumber/tsconfig.json cucumber-js --profile=e2e --parallel ${PARALLEL:-1} "tests/e2e/cucumber/features/a11y/smoke.feature"

(node:14442) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:14500) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.
(Use `node --trace-deprecation ...` to show where the warning was created)

Feature: Accessibility checks

  @a11y
  Scenario: check files view wrapper accessibility                                                                                                  # tests/e2e/cucumber/features/a11y/smoke.feature:4
(node:14500) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)
    ✔ Given "Admin" creates following users using API                                                                                               # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:4
        | id    |
        | Alice |
        | Brian |
    ✔ And "Admin" creates following groups using API                                                                                                # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:44
        | id    |
        | sales |
    ✔ And "Admin" assigns following roles to the users using API                                                                                    # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:31
        | id    | role        |
        | Alice | Space Admin |
        | Brian | Admin       |
    ✔ And "Admin" adds user to the group using API                                                                                                  # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:67
        | user  | group |
        | Alice | sales |
    ✔ And "Alice" creates the following project spaces using API                                                                                    # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:153
        | name     | id       |
        | my_space | my_space |
    ✔ And "Alice" creates the following folder in space "my_space" using API                                                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:176
        | name        |
        | spaceFolder |
    ✔ And "Alice" creates the following folders in personal space using API                                                                         # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:82
        | name          |
        | parent        |
        | deletedFolder |
    ✔ And "Alice" uploads the following local file into personal space using API                                                                    # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:141
        | localFile       | to              |
        | testavatar.jpeg | testavatar.jpeg |
        | lorem.txt       | lorem.txt       |
    ✔ And "Alice" adds the following tags for the following resources using API                                                                     # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:200
        | resource        | tags      |
        | testavatar.jpeg | alice tag |
    ✔ And "Alice" shares the following resource using API                                                                                           # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/api.ts:94
        | resource | recipient | type  | role     |
        | parent   | Brian     | user  | Can edit |
        | parent   | sales     | group | Can edit |
♿ Accessibility violations detected in before clicking login submit:

[autocomplete-valid] autocomplete attribute must be used correctly
  Impact: serious
  Description: Ensure the autocomplete attribute is correct and suitable for the form field
  Help: https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=playwright
  Node 1: <input class="oc-input " autocapitalize="off" spellcheck="false" autocomplete="kopano-account username" placeholder="Username" id="oc-login-username" aria-invalid="false" value="Alice-a96">
  Node 2: <input class="oc-input " type="password" margin="normal" autocomplete="kopano-account current-password" placeholder="Password" id="oc-login-password" aria-invalid="false">
Accessibility check failed with 1 violation(s) in before clicking login submit.
    ✔ When "Alice" logs in                                                                                                                          # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/session.ts:32
♿ Accessibility violations detected in before clicking login submit:

[autocomplete-valid] autocomplete attribute must be used correctly
  Impact: serious
  Description: Ensure the autocomplete attribute is correct and suitable for the form field
  Help: https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=playwright
  Node 1: <input class="oc-input " autocapitalize="off" spellcheck="false" autocomplete="kopano-account username" placeholder="Username" id="oc-login-username" aria-invalid="false" value="Brian-a96">
  Node 2: <input class="oc-input " type="password" margin="normal" autocomplete="kopano-account current-password" placeholder="Password" id="oc-login-password" aria-invalid="false">
Accessibility check failed with 1 violation(s) in before clicking login submit.
    ✔ And "Brian" logs in                                                                                                                           # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/session.ts:32
    ✔ And "Alice" opens the "files" app                                                                                                             # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/application.ts:9
♿ Accessibility violations detected in personal space:

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">
  Node 2: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">
  Node 3: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">
  Node 4: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">

[link-name] Links must have discernible text
  Impact: serious
  Description: Ensure links have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/link-name?application=playwright
  Node 1: <a href="/files/spaces/personal/alice-a96/deletedFolder?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%213d3a5a51-0ceb-4352-b064-b384481c7e4c" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
  Node 2: <a href="/files/spaces/personal/alice-a96/parent?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%216d8ebf4e-3f9a-4447-8727-4db7c2187df1" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
  Node 3: <a href="/text-editor/personal/alice-a96/lorem.txt?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%2119d765f3-356b-49a1-9c94-d184c7f5bd32&amp;contextRouteName=files-spaces-generic&amp;contextRouteParams.driveAliasAndItem=personal/alice-a96&amp;contextRouteQuery.fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%218425c11c-661c-4108-9d7a-f12e6e6aebdd&amp;contextRouteQuery.sort-by=name&amp;contextRouteQuery.sort-dir=asc" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
  Node 4: <a href="/preview/personal/alice-a96/testavatar.jpeg?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%213e70bbc1-4ec1-439c-88f7-881b9aabe85f&amp;contextRouteName=files-spaces-generic&amp;contextRouteParams.driveAliasAndItem=personal/alice-a96&amp;contextRouteQuery.fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%218425c11c-661c-4108-9d7a-f12e6e6aebdd&amp;contextRouteQuery.sort-by=name&amp;contextRouteQuery.sort-dir=asc" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
Accessibility check failed with 2 violation(s) in personal space.
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "personal space"                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" switches to the tiles-view                                                                                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:258
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "personal space"                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" switches to the "resource-table-condensed" view mode                                                                              # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:263
♿ Accessibility violations detected in personal space:

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">
  Node 2: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">
  Node 3: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">
  Node 4: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">

[link-name] Links must have discernible text
  Impact: serious
  Description: Ensure links have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/link-name?application=playwright
  Node 1: <a href="/files/spaces/personal/alice-a96/deletedFolder?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%213d3a5a51-0ceb-4352-b064-b384481c7e4c" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
  Node 2: <a href="/files/spaces/personal/alice-a96/parent?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%216d8ebf4e-3f9a-4447-8727-4db7c2187df1" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
  Node 3: <a href="/text-editor/personal/alice-a96/lorem.txt?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%2119d765f3-356b-49a1-9c94-d184c7f5bd32&amp;contextRouteName=files-spaces-generic&amp;contextRouteParams.driveAliasAndItem=personal/alice-a96&amp;contextRouteQuery.fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%218425c11c-661c-4108-9d7a-f12e6e6aebdd&amp;contextRouteQuery.sort-by=name&amp;contextRouteQuery.sort-dir=asc" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
  Node 4: <a href="/preview/personal/alice-a96/testavatar.jpeg?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%213e70bbc1-4ec1-439c-88f7-881b9aabe85f&amp;contextRouteName=files-spaces-generic&amp;contextRouteParams.driveAliasAndItem=personal/alice-a96&amp;contextRouteQuery.fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%218425c11c-661c-4108-9d7a-f12e6e6aebdd&amp;contextRouteQuery.sort-by=name&amp;contextRouteQuery.sort-dir=asc" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
Accessibility check failed with 2 violation(s) in personal space.
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "personal space"                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" navigates to the shared with me page                                                                                              # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/shares.ts:84
♿ Accessibility violations detected in shares:

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw oc-p-xs oc-files-actions-hide-share-trigger raw-hover-surface">

[link-name] Links must have discernible text
  Impact: serious
  Description: Ensure links have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/link-name?application=playwright
  Node 1: <a href="/files/spaces/personal/alice-a96?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%216d8ebf4e-3f9a-4447-8727-4db7c2187df1" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
Accessibility check failed with 2 violation(s) in shares.
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "shares"                                                # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" navigates to the shared with others page                                                                                          # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/shares.ts:89
♿ Accessibility violations detected in shares:

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">

[link-name] Links must have discernible text
  Impact: serious
  Description: Ensure links have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/link-name?application=playwright
  Node 1: <a href="/files/spaces/personal/alice-a96/parent?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%216d8ebf4e-3f9a-4447-8727-4db7c2187df1" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
Accessibility check failed with 2 violation(s) in shares.
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "shares"                                                # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" navigates to the shared via link page                                                                                             # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/shares.ts:94
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "shares"                                                # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" navigates to the projects space page                                                                                              # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/spaces.ts:9
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "project spaces"                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" switches to the tiles-view                                                                                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:258
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "project spaces"                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" navigates to the project space "my_space"                                                                                         # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/spaces.ts:21
♿ Accessibility violations detected in project spaces:

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">

[link-name] Links must have discernible text
  Impact: serious
  Description: Ensure links have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/link-name?application=playwright
  Node 1: <a href="/files/spaces/project/my_space/spaceFolder?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%2405072c89-7842-4835-b823-f752918e83b7%211ff88a0f-b0ea-4dac-b5b5-cffb9fafb2bc" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
Accessibility check failed with 2 violation(s) in project spaces.
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "project spaces"                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" switches to the "resource-table" view mode                                                                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:263
♿ Accessibility violations detected in project spaces:

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">

[link-name] Links must have discernible text
  Impact: serious
  Description: Ensure links have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/link-name?application=playwright
  Node 1: <a href="/files/spaces/project/my_space/spaceFolder?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%2405072c89-7842-4835-b823-f752918e83b7%211ff88a0f-b0ea-4dac-b5b5-cffb9fafb2bc" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
Accessibility check failed with 2 violation(s) in project spaces.
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "project spaces"                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" navigates to the trashbin                                                                                                         # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/trashbin.ts:26
♿ Accessibility violations detected in deleted files:

[link-name] Links must have discernible text
  Impact: serious
  Description: Ensure links have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/link-name?application=playwright
  Node 1: <a href="/files/trash/personal/alice-a96" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
  Node 2: <a href="/files/trash/project/my_space" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
Accessibility check failed with 1 violation(s) in deleted files.
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "deleted files"                                         # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" opens trashbin of the personal space                                                                                              # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/trashbin.ts:36
♿ Accessibility violations detected in deleted files -> Personal:

[aria-hidden-focus] ARIA hidden element must not be focusable or contain focusable elements
  Impact: serious
  Description: Ensure aria-hidden elements are not focusable nor contain focusable elements
  Help: https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=playwright
  Node 1: <li data-key="1" aria-hidden="true" class="oc-breadcrumb-list-item oc-flex oc-flex-middle oc-invisible-sr">
Accessibility check failed with 1 violation(s) in deleted files -> Personal.
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "deleted files -> Personal"                             # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" searches "test" using the global search and the "all files" filter and presses enter                                              # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:222
♿ Accessibility violations detected in Search result:

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">

[link-name] Links must have discernible text
  Impact: serious
  Description: Ensure links have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/link-name?application=playwright
  Node 1: <a href="/preview/personal/alice-a96/testavatar.jpeg?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%248425c11c-661c-4108-9d7a-f12e6e6aebdd%213e70bbc1-4ec1-439c-88f7-881b9aabe85f&amp;contextRouteName=files-common-search&amp;contextRouteParams.page=&amp;contextRouteQuery.term=test&amp;contextRouteQuery.provider=files.sdk&amp;contextRouteQuery.useScope=false" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
Accessibility check failed with 2 violation(s) in Search result.
    ✔ And "Alice" checks the accessibility of the DOM selector ".files-view-wrapper" on the "Search result"                                         # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" checks the accessibility of the DOM selector "#oc-topbar" on the "top bar"                                                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" opens location search panel                                                                                                       # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/search.ts:37
    ✔ And "Brian" checks the accessibility of the DOM selector ".tippy-content" on the "search panel"                                               # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" opens notifications dropdown                                                                                                      # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/notifications.ts:29
    ✔ And "Brian" checks the accessibility of the DOM selector "#oc-notifications-drop" on the "notifications dropdown"                             # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" opens the apps menu                                                                                                               # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/application.ts:14
    ✔ And "Brian" checks the accessibility of the DOM selector "#app-switcher-dropdown" on the "apps menu"                                          # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" checks the accessibility of the DOM selector "#web-nav-sidebar" on the "left sidebar"                                             # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" opens the user menu                                                                                                               # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/accountMenu.ts:19
    ✔ And "Brian" checks the accessibility of the DOM selector "#account" on the "account menu"                                                     # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" opens the "admin-settings" app                                                                                                    # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/application.ts:9
♿ Accessibility violations detected in admin settings->general:

[aria-hidden-focus] ARIA hidden element must not be focusable or contain focusable elements
  Impact: serious
  Description: Ensure aria-hidden elements are not focusable nor contain focusable elements
  Help: https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=playwright
  Node 1: <li data-key="1" aria-hidden="true" class="oc-breadcrumb-list-item oc-flex oc-flex-middle oc-invisible-sr">
Accessibility check failed with 1 violation(s) in admin settings->general.
    ✔ And "Brian" checks the accessibility of the DOM selector "#admin-settings-view-wrapper" on the "admin settings->general"                      # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" navigates to the users management page                                                                                            # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/adminSettings.ts:86
♿ Accessibility violations detected in admin settings->users:

[aria-hidden-focus] ARIA hidden element must not be focusable or contain focusable elements
  Impact: serious
  Description: Ensure aria-hidden elements are not focusable nor contain focusable elements
  Help: https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=playwright
  Node 1: <li data-key="1" aria-hidden="true" class="oc-breadcrumb-list-item oc-flex oc-flex-middle oc-invisible-sr">

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button data-v-6a1cc744="" type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw oc-ml-xs oc-p-xs" id="users-filter-confirm">

[empty-table-header] Table header text should not be empty
  Impact: minor
  Description: Ensure table headers have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/empty-table-header?application=playwright
  Node 1: <th class="oc-table-cell oc-table-cell-align-left oc-table-cell-align-middle oc-table-cell-width-shrink oc-th oc-table-header-cell oc-table-header-cell-avatar" style="top: 114px;"><div><span class="oc-table-thead-content header-text"></span></div></th>
Accessibility check failed with 3 violation(s) in admin settings->users.
    ✔ And "Brian" checks the accessibility of the DOM selector "#admin-settings-view-wrapper" on the "admin settings->users"                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" selects the user "Alice"                                                                                                          # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/adminSettings.ts:337
♿ Accessibility violations detected in admin settings->users:

[aria-hidden-focus] ARIA hidden element must not be focusable or contain focusable elements
  Impact: serious
  Description: Ensure aria-hidden elements are not focusable nor contain focusable elements
  Help: https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=playwright
  Node 1: <li data-key="1" aria-hidden="true" class="oc-breadcrumb-list-item oc-flex oc-flex-middle oc-invisible-sr">

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button data-v-6a1cc744="" type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw oc-ml-xs oc-p-xs" id="users-filter-confirm">

[empty-table-header] Table header text should not be empty
  Impact: minor
  Description: Ensure table headers have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/empty-table-header?application=playwright
  Node 1: <th class="oc-table-cell oc-table-cell-align-left oc-table-cell-align-middle oc-table-cell-width-shrink oc-th oc-table-header-cell oc-table-header-cell-avatar" style="top: 114px;"><div><span class="oc-table-thead-content header-text"></span></div></th>
Accessibility check failed with 3 violation(s) in admin settings->users.
    ✔ And "Brian" checks the accessibility of the DOM selector "#admin-settings-view-wrapper" on the "admin settings->users"                        # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" opens the edit panel of user "Alice" using the context menu                                                                       # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/adminSettings.ts:303
    ✔ And "Brian" checks the accessibility of the DOM selector "#sidebar-panel-EditPanel" on the "admin settings->users->edit user sidebar panel"   # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" navigates to the groups management page                                                                                           # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/adminSettings.ts:231
♿ Accessibility violations detected in admin settings->groups:

[aria-hidden-focus] ARIA hidden element must not be focusable or contain focusable elements
  Impact: serious
  Description: Ensure aria-hidden elements are not focusable nor contain focusable elements
  Help: https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=playwright
  Node 1: <li data-key="1" aria-hidden="true" class="oc-breadcrumb-list-item oc-flex oc-flex-middle oc-invisible-sr">

[empty-table-header] Table header text should not be empty
  Impact: minor
  Description: Ensure table headers have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/empty-table-header?application=playwright
  Node 1: <th class="oc-table-cell oc-table-cell-align-left oc-table-cell-align-middle oc-table-cell-width-shrink oc-th oc-table-header-cell oc-table-header-cell-avatar" style="top: 114px;"><div><span class="oc-table-thead-content header-text"></span></div></th>
Accessibility check failed with 2 violation(s) in admin settings->groups.
    ✔ And "Brian" checks the accessibility of the DOM selector "#admin-settings-view-wrapper" on the "admin settings->groups"                       # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" selects the group "sales"                                                                                                         # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/adminSettings.ts:342
♿ Accessibility violations detected in admin settings->groups:

[aria-hidden-focus] ARIA hidden element must not be focusable or contain focusable elements
  Impact: serious
  Description: Ensure aria-hidden elements are not focusable nor contain focusable elements
  Help: https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=playwright
  Node 1: <li data-key="1" aria-hidden="true" class="oc-breadcrumb-list-item oc-flex oc-flex-middle oc-invisible-sr">

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" aria-label="" class="oc-button oc-rounded oc-button-m oc-button-justify-content-left oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw oc-groups-actions-delete-trigger action-menu-item oc-py-s oc-px-m oc-width-1-1" data-testid="action-handler">

[empty-table-header] Table header text should not be empty
  Impact: minor
  Description: Ensure table headers have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/empty-table-header?application=playwright
  Node 1: <th class="oc-table-cell oc-table-cell-align-left oc-table-cell-align-middle oc-table-cell-width-shrink oc-th oc-table-header-cell oc-table-header-cell-avatar" style="top: 114px;"><div><span class="oc-table-thead-content header-text"></span></div></th>
Accessibility check failed with 3 violation(s) in admin settings->groups.
    ✔ And "Brian" checks the accessibility of the DOM selector "#admin-settings-view-wrapper" on the "admin settings->groups"                       # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" opens the edit panel of group "sales" using the context menu                                                                      # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/adminSettings.ts:308
    ✔ And "Brian" checks the accessibility of the DOM selector "#sidebar-panel-EditPanel" on the "admin settings->groups->edit group sidebar panel" # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" navigates to the project spaces management page                                                                                   # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/application.ts:4
♿ Accessibility violations detected in admin settings->spaces:

[aria-hidden-focus] ARIA hidden element must not be focusable or contain focusable elements
  Impact: serious
  Description: Ensure aria-hidden elements are not focusable nor contain focusable elements
  Help: https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=playwright
  Node 1: <li data-key="1" aria-hidden="true" class="oc-breadcrumb-list-item oc-flex oc-flex-middle oc-invisible-sr">

[empty-table-header] Table header text should not be empty
  Impact: minor
  Description: Ensure table headers have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/empty-table-header?application=playwright
  Node 1: <th class="oc-table-cell oc-table-cell-align-left oc-table-cell-align-middle oc-table-cell-width-shrink oc-th oc-table-header-cell oc-table-header-cell-icon" style="top: 114px;"><div><span class="oc-table-thead-content header-text"></span></div></th>
Accessibility check failed with 2 violation(s) in admin settings->spaces.
    ✔ And "Brian" checks the accessibility of the DOM selector "#admin-settings-view-wrapper" on the "admin settings->spaces"                       # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" selects the space "my_space"                                                                                                      # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/adminSettings.ts:347
♿ Accessibility violations detected in admin settings->spaces:

[aria-hidden-focus] ARIA hidden element must not be focusable or contain focusable elements
  Impact: serious
  Description: Ensure aria-hidden elements are not focusable nor contain focusable elements
  Help: https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=playwright
  Node 1: <li data-key="1" aria-hidden="true" class="oc-breadcrumb-list-item oc-flex oc-flex-middle oc-invisible-sr">

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" aria-label="" class="oc-button oc-rounded oc-button-m oc-button-justify-content-left oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw oc-files-actions-edit-quota-trigger action-menu-item oc-py-s oc-px-m oc-width-1-1" data-testid="action-handler">
  Node 2: <button type="button" aria-label="" class="oc-button oc-rounded oc-button-m oc-button-justify-content-left oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw oc-files-actions-disable-trigger action-menu-item oc-py-s oc-px-m oc-width-1-1" data-testid="action-handler">

[empty-table-header] Table header text should not be empty
  Impact: minor
  Description: Ensure table headers have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/empty-table-header?application=playwright
  Node 1: <th class="oc-table-cell oc-table-cell-align-left oc-table-cell-align-middle oc-table-cell-width-shrink oc-th oc-table-header-cell oc-table-header-cell-icon" style="top: 114px;"><div><span class="oc-table-thead-content header-text"></span></div></th>
Accessibility check failed with 3 violation(s) in admin settings->spaces.
    ✔ And "Brian" checks the accessibility of the DOM selector "#admin-settings-view-wrapper" on the "admin settings->spaces"                       # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Brian" lists the members of project space "my_space" using a sidebar panel                                                               # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/adminSettings.ts:318
    ✔ And "Brian" checks the accessibility of the DOM selector "#sidebar-panel-SpaceMembers" on the "admin settings->spaces->members sidebar panel" # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" navigates to the project space "my_space"                                                                                         # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/spaces.ts:21
♿ Accessibility violations detected in project space page:

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-raw oc-button-secondary-raw resource-table-edit-name raw-hover-surface oc-p-xs">

[link-name] Links must have discernible text
  Impact: serious
  Description: Ensure links have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/link-name?application=playwright
  Node 1: <a href="/files/spaces/project/my_space/spaceFolder?fileId=f2a014cf-4e1a-4a94-8140-0a9d3f7cf944%2405072c89-7842-4835-b823-f752918e83b7%211ff88a0f-b0ea-4dac-b5b5-cffb9fafb2bc" class="oc-resource-link oc-resource-icon-link" target="_self" draggable="false" no-hover="">
Accessibility check failed with 2 violation(s) in project space page.
    ✔ And "Alice" checks the accessibility of the DOM selector "#files-view" on the "project space page"                                            # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" opens the "files" app                                                                                                             # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/application.ts:9
    ✔ And "Alice" opens the right sidebar of the resource "lorem.txt"                                                                               # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:691
    ✔ And "Alice" checks the accessibility of the DOM selector "#sidebar-panel-details" on the "right sidebar"                                      # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" opens a "actions" panel of the resource "lorem.txt"                                                                               # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:696
    ✔ And "Alice" checks the accessibility of the DOM selector "#sidebar-panel-actions" on the "right sidebar->actions panel"                       # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" opens a "versions" panel of the resource "lorem.txt"                                                                              # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:696
    ✔ And "Alice" checks the accessibility of the DOM selector "#sidebar-panel-versions" on the "right sidebar->versions panel"                     # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" opens a "activities" panel of the resource "lorem.txt"                                                                            # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:696
    ✔ And "Alice" checks the accessibility of the DOM selector "#sidebar-panel-sharing" on the "right sidebar->activities panel"                    # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" opens a "sharing" panel of the resource "lorem.txt"                                                                               # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/resources.ts:696
    ✔ And "Alice" checks the accessibility of the DOM selector "#sidebar-panel-sharing" on the "right sidebar->sharing panel"                       # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
♿ Accessibility violations detected in create public link modal:

[button-name] Buttons must have discernible text
  Impact: critical
  Description: Ensure buttons have discernible text
  Help: https://dequeuniversity.com/rules/axe/4.10/button-name?application=playwright
  Node 1: <button data-v-73fe1bf1="" type="button" class="oc-button oc-rounded oc-button-m oc-button-justify-content-center oc-button-gap-m oc-button-secondary oc-button-filled oc-button-secondary-filled link-modal-confirm oc-modal-body-actions-confirm-secondary-trigger" aria-expanded="false">
Accessibility check failed with 1 violation(s) in create public link modal.
    ✔ And "Alice" creates a public link of following resource using the sidebar panel                                                               # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/links.ts:5
        | resource | role             | password |
        | parent   | Secret File Drop | %public% |
    ✔ And "Anonymous" opens the public link "Unnamed link"                                                                                          # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/public.ts:7
    ✔ And "Anonymous" unlocks the public link with password "%public%"                                                                              # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/public.ts:24
    ✔ And "Anonymous" checks the accessibility of the DOM selector "#web-content" on the "public link page"                                         # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/a11.y.ts:3
    ✔ And "Alice" logs out                                                                                                                          # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/session.ts:40
    ✔ And "Brian" logs out                                                                                                                          # file:/Users/v.scharf/Work/opencloud/web/tests/e2e/cucumber/steps/ui/session.ts:40
    

Copilot AI review requested due to automatic review settings September 9, 2025 14:35
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR significantly expands accessibility testing coverage by adding comprehensive accessibility checks across different parts of the application, including new test steps and infrastructure. The changes enhance the existing e2e test framework to enable accessibility validation using automated testing tools.

  • Adds comprehensive accessibility testing for file views, admin settings, and UI components
  • Introduces new test step definitions and page object methods to support a11y testing
  • Refactors existing trashbin navigation logic to be more granular and testable

Reviewed Changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/e2e/cucumber/features/a11y/smoke.feature Comprehensive accessibility test scenarios covering files, admin settings, and UI components
tests/e2e/cucumber/steps/ui/*.ts New step definitions for accessibility testing workflows
tests/e2e/support/objects/*/actions.ts New methods for opening panels, menus, and navigation
tests/e2e/support/objects/*/index.ts Updated interfaces to expose new accessibility testing functionality
tests/e2e/support/api/davSpaces/*.ts Added file deletion API support for test cleanup

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Contributor

@JammingBen JammingBen left a comment

Choose a reason for hiding this comment

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

👍

@ScharfViktor ScharfViktor merged commit 339f56e into main Sep 11, 2025
28 checks passed
@ScharfViktor ScharfViktor deleted the a11y_tests branch September 11, 2025 08:08
@openclouders openclouders mentioned this pull request Sep 11, 2025
1 task
@ScharfViktor ScharfViktor mentioned this pull request Sep 12, 2025
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants