한국어
← All categories
04

Inputs & forms

Forms are where people give up and leave. And picking the wrong control — a checkbox where you meant a switch — changes what the feature actually does.

26 terms26 live demos
The control you pick decides the behaviour

A checkbox does nothing until a save button is pressed; a switch takes effect the moment it is flipped. A native select cannot be restyled much, while a combobox has to be built from scratch. Choosing the control is choosing the estimate → Deep dive: which input control should you use

01

Form

· 입력 양식

When this comes up

"Build me a sign-up form" — referring to the whole screen that collects input.

The whole set of inputs that gets submitted. Sign-up, log-in, checkout and contact are all forms.

See it Try clicking
Easy to get wrong

In a form, the number of fields is the drop-off rate. Asking now for things you could ask later costs you sign-ups. Sort required from optional during planning.

Using it on the job

If you cannot cut fields, split them into steps. Three steps of three beats ten on one screen for completion rate.

Ask for it like this

Build a sign-up form. Require only email and password, and collect everything else after sign-up. Mark required fields with * and label optional ones "(optional)".

02

Input · Text Field

인풋 · 텍스트 필드

When this comes up

"Put an input here" — the most basic request there is.

A field for a single line of text. The most basic form element.

See it Try clicking
Easy to get wrong

The width of a field is itself a hint. A postcode field as long as a name field confuses people. Size the width to the length of what you are collecting.

Ask for it like this

Size input widths to the content — postcode short (90px), name medium (160px), address full width. Match the mobile keyboard type too (numeric keyboard for numeric fields).

Related terms
03

Textarea

텍스트에어리어

When this comes up

"Let people write several lines in the enquiry box"

A field for multiple lines. Used for enquiries, long descriptions and reviews.

See it Try clicking
0 / 200 characters
Easy to get wrong

If there is a character limit, the remaining count has to be visible while typing. Finding out you are over 500 characters only after pressing submit is the worst possible version.

Ask for it like this

Make the enquiry field a textarea capped at 500 characters. Show the remaining count live while typing, and allow resizing vertically only.

04

Label

라벨

When this comes up

When an accessibility review comes back with "the label is not associated".

The name tag telling you what a field collects. Usually placed above the field.

See it Try clicking
Easy to get wrong

Clicking the label should put the cursor in the field (a for association in code). Without it, small targets like checkboxes become very hard to hit. Put it on the review checklist.

Ask for it like this

Give every input a label and associate it with the <code>for</code> attribute. Clicking the label text should focus or toggle the matching field.

05

Placeholder

플레이스홀더

When this comes up

"Drop the label and just put faint text inside" — a request you should push back on.

Faint example text inside a field. It disappears the moment typing starts.

See it Try clicking
✗ Bad — placeholder only, no label

Once it is filled in, there is no telling whether this is a date of birth or a sign-up date.

✓ Good — label plus placeholder

You can always tell what was entered.

Easy to get wrong

Never use a placeholder instead of a label. It vanishes as soon as someone types, leaving "wait, what was I filling in?". The faint grey also fails contrast. Label outside, placeholder for examples only.

Ask for it like this

Do not use placeholders in place of labels. Keep the label visible above the field at all times, and put only a format example in the placeholder (e.g. 010-1234-5678).

06

Helper Text

헬퍼 텍스트 · 보조 설명

When this comes up

"Tell people the password rules up front" — guidance before the error.

A short note attached below a field, stating the format or the rule in advance.

See it Try clicking
At least 8 characters, including letters and numbers
Easy to get wrong

Telling someone "at least 8 characters, must include a number" after the error is too late. The whole point of helper text is showing it before they type.

Ask for it like this

Show the password rules as helper text below the field ("8+ characters, letters and numbers"). When validation fails, replace it in place with a red error message.

07

Select

셀렉트 · 드롭다운(폼)

When this comes up

"Make the region picker a dropdown" — referring to a control that picks a value.

A form element for choosing one item from a fixed list. The list only appears when pressed.

See it Try clicking

Try it. The browser and the operating system decide how the list looks — the designer cannot.

Easy to get wrong

A native select can barely be styled. Draw a custom design in the mockup, then say "just use a select", and the developer has to build it from scratch — that is separate effort. With five or fewer options, radio buttons are often better.

Using it on the job

A native select brings up the OS picker on mobile, which is frequently better to use. Unless the design genuinely demands otherwise, use the native one.

Ask for it like this

Use the native browser select for region. No custom styling needed — the OS picker on mobile is actually preferable here.

08

Combobox

콤보박스

When this comes up

"The list is too long to find anything in" — when there are dozens of options.

Combines free typing with list selection. Typing narrows the candidates.

See it Try clicking

Try typing "ka". The options narrow down.

Easy to get wrong

Different from a select. Once there are dozens of options — banks, countries — a select is painful and a combobox is right. It is considerably harder to build than a select.

Ask for it like this

The bank list has more than 20 entries, so build it as a combobox (searchable select). Typing narrows the options, and up/down arrows plus Enter must work.

09

Autocomplete

오토컴플리트 · 자동완성

When this comes up

"Show suggestions as people type in search"

Suggests likely candidates while typing.

See it Try clicking
Camden High Street
Camden Road
Camden Town Centre
Easy to get wrong

Firing a request on every keystroke hammers the server, so ask for debouncing (request only after a brief pause) at the same time. Leave it out and you get code that calls the server on every character.

Ask for it like this

Add autocomplete to the search box. After 2+ characters, debounce 0.3s and show up to 5 results; show "No results" when there are none.

10

Checkbox

체크박스

When this comes up

"Add a checkbox for the terms" — when several things submit together.

A square box that lets you select several things at once.

See it Try clicking
Interests (choose any)
Easy to get wrong

A checkbox usually takes effect only when [Save] is pressed. If it should apply immediately, you want a switch. Skip this decision and you get support tickets saying "I ticked it but it did not save".

Ask for it like this

Make the terms agreement a checkbox, submitted together when [Sign up] is pressed. Add an "Agree to all" checkbox that toggles the individual items with it.

11

Radio Button

라디오 버튼

When this comes up

"Let people pick only one payment method"

A round button for choosing exactly one of several options. Named after the channel buttons on old radios.

See it Try clicking
Payment method (one only)
Easy to get wrong

By convention, once selected you cannot return to nothing selected. If clearing must be possible, add a "None" option or use a select. Pre-selecting a sensible default reduces drop-off.

Ask for it like this

Make payment method radio buttons with the first option pre-selected. There are only four options, so show them all rather than collapsing into a select.

12

Toggle · Switch

토글 · 스위치

When this comes up

"Let people turn notifications on and off" — when it must apply immediately.

A control that flips between on and off. The same idea as a light switch.

See it Try clicking

It saves to the server the moment the switch flips. There is no separate [Save] button.

Easy to get wrong

A switch applies immediately; a checkbox applies on save — that is the difference that matters. Notification settings that take effect at once are a switch; terms agreement submitted with the form is a checkbox. This comes up in QA constantly.

Using it on the job

Decide what happens when saving to the server fails after a flip. The usual answer is to revert the switch and show the error.

Ask for it like this

Make notification settings switches that save the moment they change. No save button. If saving fails, revert the switch and show an error message.

13

Segmented Control

세그먼티드 컨트롤

When this comes up

"Put Daily / Weekly / Monthly as joined buttons"

A control for picking one option from a joined group of buttons. Think of it as radio buttons in a different shape.

See it Try clicking
Period
Easy to get wrong

Easily confused with tabs because they look alike, but tabs switch content while a segmented control picks a value. Two to four items suits it; long labels get clipped.

Ask for it like this

Build the period picker as a segmented control — Daily / Weekly / Monthly. It picks a value rather than switching views; selecting one changes only the chart data below.

14

Slider

슬라이더

When this comes up

"Add a slider" — more likely than not they mean a carousel. Always check.

A control for setting a value by dragging a handle. Used for volume, brightness and price ranges.

See it Try clicking
Font size — 16px

The size of this sentence changes.

Easy to get wrong

In Korean practice, "slider" far more often means a carousel — the banner that slides left and right. "Add a main slider" is almost certainly about a banner carousel. Always confirm.

Ask for it like this

By "slider", do you mean a bar for setting a value, or a main banner that slides left and right? If it is the latter, "carousel" is the accurate word.

15

Range Slider

레인지 슬라이더

When this comes up

"Add a price range filter"

A slider with two handles, for setting a minimum-to-maximum range. Price filters are the classic case.

See it Try clicking
Price range
~

The built-in one has a single handle. Two handles need a custom implementation.

Easy to get wrong

Native HTML gives you only one handle, so a two-handle version has to be built or pulled from a library. It looks simple but it costs real effort.

Ask for it like this

Build the price filter as a range slider with two handles. Native HTML only provides one, so this needs a custom implementation. Allow typing the numbers directly as well.

16

Number Stepper

숫자 스텝퍼 · 수량 조절

When this comes up

"Add quantity buttons" — in the cart.

A − 1 + control for nudging a quantity up and down.

See it Try clicking
Quantity
Total: 1
Easy to get wrong

The name collides with the step indicator. If "stepper" comes up in a meeting, check which one. And typing must also work — nobody should press a button 50 times to order 50.

Ask for it like this

Add a quantity stepper (− number +) to the cart. Minimum 1, maximum the available stock, and allow typing the number directly. Bring up the numeric keyboard on mobile.

17

Date Picker · Picker

데이트 피커 · 픽커

When this comes up

"Add a calendar for choosing dates"

A UI for choosing a date from a calendar. Anything that picks from a fixed set of values — dates, times, colours — is collectively a picker.

See it Try clicking
August 2026
SMTWTFS262728293031123456789101112131415

Above is the browser default; below is a custom calendar.

Easy to get wrong

Choosing a span is separately called a range picker. The browser's built-in calendar cannot be styled and looks different in every browser — matching the mockup means building your own.

Ask for it like this

Collect the visit date with a date picker. Block dates before today and allow typing the date directly. If it has to match the mockup, this needs a custom calendar rather than the browser default.

Related terms
18

File Uploader · Dropzone

파일 업로더 · 드롭존

When this comes up

"Add file attachments"

An area for uploading files by selecting them or dragging them in.

See it Try clicking
Drag a file here, or click to choose one
JPG, PNG, PDF · 10MB max

Try pressing it. This imitates the highlighted state when a file is dragged over.

Easy to get wrong

The spec must state allowed file types, maximum size, and whether multiple files are allowed. Leave it out and the developer picks, and later you get "files over 10MB will not upload".

Ask for it like this

Add a file uploader. JPG, PNG and PDF only, up to 10MB each, maximum 5 files. Support both drag-and-drop and click-to-select, with upload progress and a remove button.

Related terms
19

Chip

When this comes up

"Show the selected filters at the top"

A small pill-shaped interactive element. It can be selected or removed. Filter chips and input chips are common kinds.

See it Try clicking
Filters

You can press to toggle them on and off — that is what makes it a chip.

Easy to get wrong

Chips can be pressed; tags usually cannot. That is the difference. Filters as chips make the current selection visible at a glance.

Ask for it like this

Build the filters as chips. Pressing one toggles it on and off, with selected chips distinguished by colour. Add a "Clear" button that removes all selections at once.

Related terms
20

Tag

태그

When this comes up

"Show them like hashtags"

A label marking how content is classified. Its main purpose is display.

See it Try clicking
New summer dress 2026
#summer#dress#newin
Easy to get wrong

Similar in appearance to a chip, but a tag is usually not a click target. If clicking should open a list for that tag, write that behaviour into the spec.

Ask for it like this

Show tags on the product. These are display-only, not clickable. (If clicking should open the list for that tag, tell me and I will add it.)

Related terms
21

Validation

밸리데이션 · 유효성 검사

When this comes up

"Check whether the input is valid" — you need to decide when to check.

Checking whether input meets the rules — email format, password length, required fields and so on.

See it Try clicking
✓ That format is valid
Please enter at least 8 characters (currently 3)
Easy to get wrong

You have to decide when it runs: ① while typing ② when leaving the field ③ on submit. Red errors appearing mid-typing are irritating, so ② (on blur) is usually the safe default.

Ask for it like this

Run form validation when focus leaves a field (blur). Do not show errors while typing, and once a field has errored, re-check it as soon as it is edited.

22

Input Masking

마스킹

When this comes up

"Insert the hyphens in the phone number automatically"

Formatting input automatically as it is typed. Type digits only and the hyphens appear on their own: 010-1234-5678.

See it Try clicking

You only type 01012345678, 1250000 and the screen tidies up the rest.

Easy to get wrong

Rather than telling people "enter it without hyphens", a good form tidies up whatever they type. Apply it to phone numbers, card numbers, registration numbers and amounts.

Ask for it like this

Add input masking to the phone number, registration number and amount fields. Hyphens and commas appear automatically as digits are typed, while only digits are sent to the server.

23

Call To Action

CTA · 핵심 행동 버튼

When this comes up

"What is the CTA for this section?" — a question that comes up constantly in client meetings.

The one button you most want people to press. "Start for free", "Buy now", "Book a consultation".

See it Try clicking
✗ Weak label

No idea what pressing it does

✓ Strong label

The outcome is clear and the commitment is low

Easy to get wrong

Very common in client conversations. "What is the CTA for this section?" means "what do you actually want people to do on this screen?". Labels that state the action convert better than "OK".

Ask for it like this

Change the CTA labels from "OK" to something that states the action — "Start for free", "Book a consultation". Keep one main CTA per screen and style the rest as secondary.

24

Primary · Secondary Button

프라이머리 · 세컨더리 버튼

When this comes up

"All the buttons look the same" — when setting hierarchy.

A button hierarchy that visually separates the main action from supporting ones. Primary is usually filled, secondary outlined.

See it Try clicking

From the left: primary → secondary → text button → danger button.

Easy to get wrong

As a rule, one primary per screen. Make everything solid because everything is important and nothing is. Destructive actions such as delete get red on their own.

Ask for it like this

Please sort out the button hierarchy — one primary (filled) per screen, everything else secondary (outlined) or text, and destructive actions like delete in red.

25

Ghost · Outline · Text Button

고스트 · 아웃라인 · 텍스트 버튼

When this comes up

When naming button variants in a design system.

The family of buttons without a filled background. Outline has only a border; ghost and text have only the label.

See it Try clicking
Easy to get wrong

Names differ by company. Material says Outlined/Text; some teams say Ghost/Tertiary. There is no right answer — what matters is picking one set and using it consistently within the project.

Ask for it like this

Standardise the button style names across the project — Filled / Outline / Text — and write them into the design system documentation.

26

Icon Button

아이콘 버튼

When this comes up

"Space is tight, just use the icon"

A button with only an icon and no text. Used to save space.

See it Try clicking
← each button carries an invisible name
Easy to get wrong

An icon alone often fails to convey meaning. Go text-free only for widely understood icons (X, search, cart) and label the rest. And even when nothing is visible, a screen-reader name is mandatory.

Ask for it like this

Give every icon button a screen-reader name (aria-label). Also ensure the touch target is at least 44×44px regardless of the icon size.