Skip to content

fix(input): improve error text accessibility #16929

fix(input): improve error text accessibility

fix(input): improve error text accessibility #16929

Triggered via pull request August 26, 2025 15:19
@ShaneKShaneK
synchronize #30635
ionic-49
Status Success
Total duration 10m 12s
Artifacts 27

build.yml

on: pull_request
build-react
49s
build-react
build-vue
41s
build-vue
Matrix: test-core-screenshot
build-angular
53s
build-angular
build-angular-server
30s
build-angular-server
test-core-clean-build
14s
test-core-clean-build
test-core-lint
49s
test-core-lint
test-core-spec
55s
test-core-spec
build-react-router
21s
build-react-router
build-vue-router
44s
build-vue-router
verify-screenshots
2s
verify-screenshots
Matrix: test-angular-e2e
Matrix: test-react-e2e
Matrix: test-react-router-e2e
Matrix: test-vue-e2e
verify-test-angular-e2e
4s
verify-test-angular-e2e
verify-test-react-e2e
2s
verify-test-react-e2e
verify-test-react-router-e2e
2s
verify-test-react-router-e2e
verify-test-vue-e2e
2s
verify-test-vue-e2e
Fit to window
Zoom out
Zoom in

Annotations

3 errors and 20 notices
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group: src/components/radio/test/a11y/radio.e2e.ts#L134
2) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group Error: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('#first-group ion-radio').first() 9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio> - unexpected value "inactive" 132 | 133 | await pageUtils.pressKeys('Tab'); > 134 | await expect(firstGroupRadios.nth(0)).toBeFocused(); | ^ 135 | 136 | await page.keyboard.press('ArrowDown'); 137 | await expect(firstGroupRadios.nth(1)).toBeFocused(); at /ionic/src/components/radio/test/a11y/radio.e2e.ts:134:47
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups: src/components/radio/test/a11y/radio.e2e.ts#L122
1) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups Error: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('#first-group ion-radio').first() 9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio> - unexpected value "inactive" 120 | 121 | await pageUtils.pressKeys('Tab'); > 122 | await expect(firstGroupRadios.nth(0)).toBeFocused(); | ^ 123 | 124 | await pageUtils.pressKeys('Tab'); 125 | await expect(secondGroupRadios.nth(0)).toBeFocused(); at /ionic/src/components/radio/test/a11y/radio.e2e.ts:122:47
[Mobile Safari] › src/components/router/test/guards/router.e2e.ts:6:9 › router: guards - ios/ltr › guards should be run on initial load: src/components/router/test/guards/router.e2e.ts#L9
1) [Mobile Safari] › src/components/router/test/guards/router.e2e.ts:6:9 › router: guards - ios/ltr › guards should be run on initial load Error: expect(received).toContain(expected) // indexOf Expected substring: "#/child/1" Received string: "http://localhost:3333/src/components/router/test/guards#/guard-initial-page?ionic:_testing=true&ionic:mode=ios&rtl=undefined&palette=light" 7 | await page.goto(`/src/components/router/test/guards#/guard-initial-page`, config); 8 | > 9 | expect(page.url()).toContain('#/child/1'); | ^ 10 | }); 11 | }); 12 | }); at /ionic/src/components/router/test/guards/router.e2e.ts:9:26
🎭 Playwright Run Summary
216 skipped 257 passed (2.3m)
🎭 Playwright Run Summary
407 passed (2.5m)
🎭 Playwright Run Summary
1 skipped 529 passed (3.2m)
🎭 Playwright Run Summary
1 skipped 534 passed (3.2m)
🎭 Playwright Run Summary
212 skipped 303 passed (3.5m)
🎭 Playwright Run Summary
2 flaky [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group 4 skipped 508 passed (3.8m)
🎭 Playwright Run Summary
4 skipped 635 passed (3.8m)
🎭 Playwright Run Summary
638 passed (4.3m)
🎭 Playwright Run Summary
10 skipped 503 passed (4.7m)
🎭 Playwright Run Summary
14 skipped 399 passed (5.0m)
🎭 Playwright Run Summary
5 skipped 510 passed (5.2m)
🎭 Playwright Run Summary
4 skipped 528 passed (6.4m)
🎭 Playwright Run Summary
1 skipped 523 passed (6.5m)
🎭 Playwright Run Summary
1 flaky [Mobile Safari] › src/components/router/test/guards/router.e2e.ts:6:9 › router: guards - ios/ltr › guards should be run on initial load 10 skipped 525 passed (6.5m)
🎭 Playwright Run Summary
1 skipped 537 passed (6.4m)
🎭 Playwright Run Summary
2 skipped 509 passed (6.7m)
🎭 Playwright Run Summary
5 skipped 563 passed (6.7m)
🎭 Playwright Run Summary
5 skipped 515 passed (6.9m)
🎭 Playwright Run Summary
14 skipped 497 passed (7.3m)
🎭 Playwright Run Summary
7 skipped 507 passed (7.6m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular Expired
667 KB
sha256:91adf01e242a4e1473cb74287e6365da91f5b57a62714ffbb94f8a3bd1b731f6
ionic-angular-server Expired
8.54 KB
sha256:d37b0abf111a8cfe7e01adff258877d200befa8c9f46827037401814fa5ae5c4
ionic-core Expired
4.55 MB
sha256:d2270e621e4d819e091eb04e47db319eb36e9a0a1c24b0f28e53178ebd6bed61
ionic-react Expired
211 KB
sha256:46239ba734297ca06811b542a945226ccded82e87314411da9a4102f18ffe2b1
ionic-react-router Expired
27.9 KB
sha256:c701edd80aabb87918bbf169f77949eadb042d81a80ce2dd266ec79ce8ae590c
ionic-vue Expired
233 KB
sha256:134857042d0fbc0dfad266dfe6ae1dc61c5ff4f7c057bb815536ea33af61126a
ionic-vue-router Expired
17.1 KB
sha256:821eb092e94211b8a790bcccd799a0ab75d98701548130e8a04f218fe83b0b29
test-results-1-20 Expired
420 KB
sha256:112be398b6c78b6dfe3701b652d71230e5bb9e0548b87ce075e9ccb70595f977
test-results-10-20 Expired
395 KB
sha256:712e09a00865f1da7584a118ce80a38ff665fbe1a70265cd620cf0e708f5455b
test-results-11-20 Expired
1.59 MB
sha256:cdd1c40b6a6f9a37ca044f4d4140b908d7a18d698ec740f2606269fd56dd08ba
test-results-12-20 Expired
430 KB
sha256:b0ac44b9c38834bb53e6e3ebbf8879398da1813938ccbdb7777a8b757c8208f9
test-results-13-20 Expired
430 KB
sha256:5c1195d00114849d604d4e4df49f25cc7aa4d002e7d07059be2efff3052eee42
test-results-14-20 Expired
389 KB
sha256:4a18e0ea799d4f7853d3b855cfd7427f84f1e053bb787210167df519985facb5
test-results-15-20 Expired
409 KB
sha256:f09ae131901920d0a0bf3b93a0c264f3d2f694fc8321183a67be796b94441b9f
test-results-16-20 Expired
410 KB
sha256:bc8f2608101c7aec336b36ed1cb705aeb5a3087e36e907724d04d17daa08f4a7
test-results-17-20 Expired
511 KB
sha256:715533657512ad118de65792434e3d7fca119e6381c89445fa14cd2db4b53633
test-results-18-20 Expired
1.22 MB
sha256:fb1b8c28758877c8d4a9d4cdc05f00a01f6d980681597a5ad194996c79dbc0df
test-results-19-20 Expired
380 KB
sha256:7db3db323978c1393d1ca655814a9d38258b87fcf24416fc57300b6f572e5b4c
test-results-2-20 Expired
454 KB
sha256:56c2d854d15f1d55a4b363f457d49f2056174fa16a3772b06f8d732c8da7597b
test-results-20-20 Expired
338 KB
sha256:f8cd7d933467d96637fb8d9ee515982994de1b2b7845de43de82fcdb66f2ee85
test-results-3-20 Expired
414 KB
sha256:0d55f1b46681f28ddfeb88c9f70c246aeea109aeeb2a95120a79db2b75b3d4a5
test-results-4-20 Expired
507 KB
sha256:564557cbcaa440b62e6fdeefcbc3dccecd1b9adf5ea9c80391203f241cabbb8f
test-results-5-20 Expired
438 KB
sha256:0f368d6ced9bfd4e198bfdd0c6fbabbb9ccc8d8b37dbc158b6936415a304162a
test-results-6-20 Expired
425 KB
sha256:11b37a27be8d08ed1e0258138ffbe175d5ff7133d723380e8aa1672bcaf9dfc7
test-results-7-20 Expired
335 KB
sha256:cf9f80198d2b0112995078582edd2dad569f1d120579c98241b7be8630d9e2e4
test-results-8-20 Expired
408 KB
sha256:8555748dbdd460f5f9effe0649936a0a4a78be96588ccae76836230e4595a040
test-results-9-20 Expired
467 KB
sha256:4bb069f46fa0cd180ace4e28d72b1d6683ca86986e442ea959fd29fa13de41fe