Skip to main content

An official website of the United States government

Here's how you know

An official website of the United States government

Here's how you know

Theme:

Design system switcher

Version:

Design system switcher

Theme:

Design system switcher

Version:

Design system switcher

Masked Field

A masked field is an enhanced input field that improves readability by providing visual and non-visual cues to a user about the expected value.

Examples

A Mask component renders a controlled input field that applies formatting to the input value when the field is blurred.

Code

React

Passing a mask prop into the TextField component with a valid value will enable formatting to occur when the field is blurred. To "unmask" the value, you can import and call the unmaskValue method.

Review Storybook for React guidance of this component.

Style customization

The following CSS variables can be overridden to customize Input/Form components:

CSS variables for text-input
VariableDefault Core Theme Value
--text-input__background-color--disabledhex value: #d9d9d9--color-gray-lighter
--text-input__border-width2px
--text-input__border-width--disabled2px
--text-input__border-width--error3px
--text-input__border-colorhex value: #262626--color-base
--text-input__border-color--disabledhex value: #a6a6a6--color-gray-light
--text-input__border-color--errorhex value: #e31c3d--color-error
--text-input__border-color--error--inversehex value: #f7bbc5--color-error-lighter
--text-input__border-color--inversehex value: #000000--color-black
--text-input__border-radius--radius-default
--text-input__colorhex value: #262626--color-base
--text-input__divider-colorhex value: #a6a6a6--color-gray-light
--text-input__padding--spacer-1
--text-input__line-height1.2999999523162842
--text-input-currency-icon__line-height--text-input__line-height
--text-input-currency-icon__spacing20px

Form components

This component uses a text field and its styles, which can be customized by the following variables:

CSS variables for form
VariableDefault Core Theme Value

Accessibility

Please note that USWDS and others recognize some accessibility issues with masked input fields:

General accessibility guidance

  • Keep your form blocks in a vertical pattern. This layout is ideal from an accessibility standpoint, as limited vision can make it difficult to scan from left to right.
  • Use helpful hint text. Provide hint text that helps users understand what they need to input.
  • Avoid placeholder text. Most browsers' default rendering of placeholder text does not provide sufficient contrast.

Accessibility testing

General accessibility testing

  • Text inputs work on mobile devices. On mobile devices and tablets, text inputs should work in both portrait and landscape orientation with no loss of functionality.
  • Text inputs remain functional when the screen is magnified. When you zoom to 200%, the text area remains visible and functional.

Keyboard testing

  • The text field is accessible via keyboard navigation. Using only a keyboard, you can navigate to the text field, type in it, and navigate away from it.
  • Focus indicators are clearly visible around text inputs. When you use a keyboard to tab into a text input, you see an indicator around the input field.

Screen reader testing

  • Fields and labels are read in the same order that they appear on the page. When you use a screen reader and navigate through input fields, you hear each text field and label announced in the same order in which they appear on the page (e.g., left to right and top to bottom for English pages).
  • Screen reader announces field purpose. When you use a screen reader and navigate to a text input, you hear that the purpose of the input is to type in text. For example, “Edit, blank. Type in text.”
  • Screen reader announces field labels and instructions. When you use a screen reader and navigate to a text input, you hear the label or instructions that appear above the text area. (For example, “Enter first name.”)

From USWDS’ text input accessibility tests.

Component maturity

For more information about how we tested and validated our work for each checklist item, read our component maturity documentation.

Accessibility

  • Color

    Meets AA color contrast standards for accessibility and color blindness.
    Complete
  • Forced Colors Mode (FCM)

    While using FCM the components text is legible and improves readability.
    Complete
  • WCAG 2.1 Level AA Conformance

    All Axe checks for WCAG AA compliance have passed.
    Complete
  • Screen readers

    VoiceOver, NVDA, and JAWS screen readers provide concise communication and interaction.
    Incomplete
  • Keyboard navigation

    Component is fully navigable with a keyboard.
    Complete

Code

  • Storybook

    Component has stories to cover all defined props.
    Complete
  • Responsive

    Component designed to work in all responsive breakpoints.
    Complete
  • Spanish translations

    Includes Spanish translations for default text content.
    Not applicable

Tokens

  • Code

    Tokens implemented in code.
    Complete
  • Design

    Tokens implemented in Figma.
    Incomplete