본문으로 건너뛰기
cccskills
무료GitHub에 공개

text-field

Use when implementing enter and edit text content.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(2)

  • SKILL.md5.6 KB
  • references/pattern.md32.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Text Field

Enter and edit text content

What it solves

A Text Field is a fundamental form input component that allows users to enter and edit text-based data. It is commonly used in forms, search fields, authentication fields, and messaging interfaces. Text fields can accept single-line or multi-line input and may include additional features like placeholders, character counters, validation messages, and formatting assistance.

When to use

Use a text field when you need users to input freeform text, such as:

  • Login and authentication fields – Username, password, email.
  • Search fields – Query inputs in search bars.
  • Forms and surveys – Collecting names, addresses, or custom responses.
  • Messaging interfaces – Chat applications and comment sections.
  • Data entry fields – User-generated content like tags, descriptions, or reviews.

When to avoid

  • For pre-defined options – Use dropdowns, radio, or checkboxes instead.
  • For structured data inputs – Use specialized inputs like date pickers or currency fields.
  • For short selections – Use auto-complete inputs instead of requiring full text input.
  • When voice input or selections are better – Consider alternatives for accessibility.

Implementation workflow

  1. Confirm the pattern matches the problem and constraints before copying the example.
  2. Start from the anatomy and examples in references/pattern.md, then choose the smallest viable variation.
  3. Apply accessibility, performance, and interaction guardrails before layering visual polish.
  4. Use the testing guidance to verify behavior across keyboard, screen reader, responsive, and failure scenarios.

Accessibility guardrails

Keyboard Interaction Pattern

Text fields should support standard keyboard navigation and interactions to ensure accessibility and usability.

KeyAction
TabMoves focus to the next interactive element.
Shift + TabMoves focus to the previous interactive element.
Enter (inside a form)Submits the form (unless prevented).
Arrow Left / RightMoves the text cursor within the input.
Arrow Up / DownMoves the cursor within multi-line text fields (textarea).
EscIf inside a search field, clears input (optional behavior).

Performance guardrails

Target performance metrics for text field components:

  • Initial render: < 100ms for text field appearance
  • Focus response: < 50ms from click to focus state
  • Validation feedback: < 150ms after input validation
  • Character counter updates: < 50ms for smooth counting
  • Memory usage: < 5KB per text field instance

Common mistakes

Using Placeholder as Primary Label

The Problem: Relying on placeholder text as the only label makes the field inaccessible when users start typing, and screen readers may not announce it properly.

<!-- Bad: Placeholder as label -->
<input type="text" placeholder="First Name">

How to Fix It? Always provide a visible label and use placeholder for hints or examples only.

<!-- Good: Label + helpful placeholder -->
<label for="firstName">First Name</label>
<input type="text" id="firstName" placeholder="e.g., John">

Poor Validation Timing

The Problem: Showing error messages too early (on first keystroke) or too late (only on form submission) frustrates users.

How to Fix It? Use progressive validation:

  • Show errors after field loses focus (onBlur) for first-time entry
  • Show real-time validation for corrections after initial error
  • Validate required fields on blur, format validation on input
// Good: Progressive validation
function validateField(input, hasBeenBlurred) {
  if (hasBeenBlurred && input.value.length > 0) {
    // Show real-time validation after first blur
    showValidationFeedback(input);
  }
}

Missing Error Recovery

The Problem: Not providing clear guidance on how to fix validation errors leaves users stuck.

How to Fix It? Include specific, actionable error messages with examples.

<!-- Bad: Vague error -->
<output class="error">Invalid input</output>

<!-- Good: Specific guidance -->
<output class="error">
  Password must contain at least 8 characters, including 1 number and 1 special character.
  Example: MyPass123!
</output>

Related patterns


For full implementation detail, examples, and testing notes, see references/pattern.md.

Pattern page: https://uxpatterns.dev/patterns/forms/text-field

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

accordion

무료

Use when implementing expand and collapse content sections.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedaviddias/ux-patterns-for-developers2662026년 10월 5일 업데이트

Use when implementing user account configuration and preferences.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedaviddias/ux-patterns-for-developers2662026년 10월 5일 업데이트

Use when implementing social activity and updates stream.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedaviddias/ux-patterns-for-developers2662026년 10월 5일 업데이트

ai-chat

무료

Use when implementing conversational AI chat interfaces.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedaviddias/ux-patterns-for-developers2662026년 10월 5일 업데이트

Use when implementing handling AI-specific errors.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedaviddias/ux-patterns-for-developers2662026년 10월 5일 업데이트

Use when implementing loading states for AI operations.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedaviddias/ux-patterns-for-developers2662026년 10월 5일 업데이트

thedaviddias의 스킬 모두 보기

이 스킬의 문제 신고