Skip to contentPorsche Design System
You are currently viewing an earlier release of the Porsche Design System.Switch to the latest Porsche Design System documentation.
SearchGitHub repository of Porsche Design SystemOpen settings sidebar
Input Text Table of Contents Accessibility support Keyboard Key / stateFunctionTab, Shift-TabMoves focus to the next (or previous) focusable element. ARIA enhancements Internal ARIA that is managed by the component: ARIAUsagearia-describedby="IDREF"Defines the accessible description combined with the status message.role="status", role="alert"When message and state or loading prop change, the status message is announced.aria-hidden="true"If required attribute is set, the visible asterisk indicator is hidden from assistive technologies.aria-invalid="true"If error state is set.aria-live="polite"If the maxlength attribute is present, the counter is announced via ARIA live region. Development considerations Exposing the unit prop The unit prop is not exposed to assistive technologies by default. If you provide a unit abbreviation, you need to dissolve it in real text through the description prop. For example, if you use kmh, you can set the description prop to kilometers per hour. This way, the screen reader will read out the full text. Disabled state In general, avoid using the disabled state. Disabled elements are no longer focusable and may be missed by screen reader users. They can also confuse sighted users if the reason they are disabled is not made clear. Common do's and don'ts Do keep a persistent label and use helper/description text when additional context is required. Do use the component state/message API so validation and status changes are announced. Do use clear error wording that helps users recover. Don't rely on placeholder text as the only label. Don't use hide-label without an accessible name. Limitations Due to the nature of Web Components and shadow DOM, there are limitations when using some ARIA attributes to define relationships between elements across different shadow DOMs or shadow DOM/light DOM combinations. ARIASupportaria-labelledby🚫aria-describedby🚫 Integration examples
Placeholder used as the only label❌ Anti-pattern
<p-input-text name="email" placeholder="Email"></p-input-text>
✅ Recommended
<p-input-text name="email" label="Email address" description="We use this to send your confirmation."></p-input-text>
Hidden label without accessible name❌ Anti-pattern
<p-input-text name="reference" hide-label="true"></p-input-text>
✅ Recommended
<p-input-text name="reference" hide-label="true" label="Order reference"></p-input-text>
Validation feedback via state and message API❌ Anti-pattern
<p-input-text name="email" label="Email" aria-invalid="true" message="Invalid"></p-input-text>
✅ Recommended
<p-input-text name="email" label="Email address" state="error" message="Enter a valid email address, for example name@example.com."></p-input-text>
Tests Automated TechnologySupportAXE-Core (WCAG 2.2 AA, Best-Practice)High-Contrast Mode (light/dark)Text-Zoom (200%) Manual TechnologySupportKeyboardScreen reader (VoiceOver, NVDA)
Global settingsColor SchemeAll color tokens use the light-dark() CSS function. Set the theme via the CSS color-scheme property: light for light mode, dark for dark mode, or light dark to follow the user's system preference.LightDarkLight DarkDirectionThe dir global attribute in HTML changes the direction of text and other content within an element. It's most often used on the <html> tag to set the entire page's direction, which is crucial for supporting languages that are written from right to left (RTL), such as Arabic and Hebrew. For example, using <html dir="rtl"> makes the entire page display from right to left, adjusting the layout and text flow accordingly.LTR (left-to-right)RTL (right-to-left)Text ZoomTo ensure accessibility and comply with WCAG 2.2 AA standards, it is mandatory for web content to support text resizing up to at least 200% without loss of content or functionality. Using relative units like rem is a best practice for achieving this, as they allow the text to scale uniformly based on the user's browser settings.100%130%150%200%