Skip to content
v2.5.0
English
Русский
Documentation

PhoneField

PhoneField is a compound component that combines a masked phone input with a nested country-code Select.

Labeling

PhoneField should have one clear field label for the whole control family.

Keyboard Behavior

AnnouncementFocus the demo and press a key from the table.
KeyAction
↓↑On the country trigger, opens the country list. Inside the open list, moves the active option. The rest of the list keys work as in [Select](../select/accessibility.md).
EnterSelects the active country, writes its calling code into the input and moves the focus to the input.
TabFrom the closed country trigger, moves the focus to the phone input.
Every row is checked in a real browser: Playwright presses the key in Chromium and checks where the focus and the active item land.
  • the input should remain the main text-entry target
  • mask behavior should not block normal editing unexpectedly

Focus Behavior

  • focus should move predictably between the country trigger and the input
  • the country listbox renders in the top layer but should not break focus flow

Screen Reader Semantics

  • the field should read as one phone input flow, not as unrelated controls
  • custom country-value rendering should still expose clear meaning

Form Semantics

Use PhoneFieldSelectHiddenSelect when the country selector should participate in native form participation.

Accessibility Risks

  • unlabeled country selector inside an otherwise labeled field
  • strict mask behavior that becomes hard to edit from the keyboard
  • custom country options that fragment one selectable row into multiple interactive targets