Skip to content

bug: ion-input clear icon color does not have enough contrast upon focus using keyboard (accessibility issue) #31141

@SandraCaci

Description

@SandraCaci

Prerequisites

Ionic Framework Version

v8.x

Current Behavior

When I have an ion-input with [clearInput]="true", a clear icon shows when the input has a value.
If you tab through the page and the focus is on the clear icon, the opacity changes to 0.5 which makes the icon a lighter color. That lighter color does not satisfy the WCAG AA contrast rule.
Also it makes the icon look disabled, which it is not.

Expected Behavior

When the user tabs to get the focus on the clear icon, the contrast should be good and it should be visible that that button has the focus without seeming disabled.

Steps to Reproduce

  1. Go to https://ionicframework.com/docs/api/input#clear-options
  2. Put the cursor on the value of the "Input with clear icon".
  3. Tab to focus on the clear icon
    You see the icon becomes a lighter gray, without enough contrast for WCAG AA accessibility, and making it look disabled instead of focused.

Code Reproduction URL

https://ionicframework.com/docs/api/input#clear-options

Ionic Info

Ionic CLI : 5.4.16

Utility:

cordova-res : not installed
native-run : not installed

System:

NodeJS : v24.15.0
npm : 11.12.1
OS : Windows 10

Additional Information

In our application we always show a focus ring to indicate focus like described in https://web.dev/articles/style-focus.
I would like to be able to configure the ion-input to achieve that focus ring, by being allowed to specify the opacity (to keep it at 1), border and outline for the clear icon upon focus. Or ideally, that ion-input would by default leave the opacity at 1 and add
border: 1px solid black;
outline: 2px solid white;
upon focus on the clear button.
And while I'm discussing AA accessibility: the aria-label for the clear-icon is fixed as "reset", I would like a way to translate or rephrase that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions