End punctuation is usually omitted in short labels
Aliases: trailing punctuation · UI label punctuation · terminal punctuation · sentence fragment
What it is
Component-aware terminal punctuation decides whether a short label ends in a period, question mark, or exclamation mark from target-language grammar, punctuation practice, and interface role. Buttons, menus, tabs, and short headings in many languages omit an ordinary period because they function as labels or fragments. Complete guidance, errors, or genuine questions may retain terminal punctuation. “Usually omitted” is a configurable convention, not a global rule derived from character count.
Why it happens
The same words can name an option in a menu or make a statement in a dialog or notification. Punctuation helps mark boundaries, tone, and clause type, yet unnecessary terminators add noise and inconsistency to dense label sets. Conversely, deleting a question mark, meaningful exclamation, or separation between sentences can change the speech act and screen-reader rendering. A reliable rule therefore combines locale, component, grammatical status, and message structure rather than treating shortness as sufficient evidence.
Studying it
Build a locale × component × clause-type matrix containing noun labels, imperative actions, complete statements, questions, abbreviations, and multi-sentence help. Native readers judge naturalness and meaning; production-like tests measure recognition, question comprehension, recovery, and screen-reader pauses while controlling wrapping, font, length, and hierarchy. Static-rule evaluation must separate terminal marks from abbreviation points, decimals, versions, paths, and code, reporting false positives and misses rather than using zero punctuated short strings as the quality target.
Where it stops holding
Abbreviation points, decimals, version separators, and code symbols are not terminal punctuation. A question mark may carry the semantics of a help link, while an exclamation needs separate tone-risk review. A multi-line string is not necessarily several sentences, and a one-line string may be complete; component name and pixel length do not decide alone. When visible copy drops a terminator, its accessible name should not be mechanically altered—the spoken meaning governs. Languages that use different or little terminal punctuation need their own conventions.
Applying it
- Register a policy for each locale and component role, distinguishing labels/fragments, complete statements, real questions, and multi-sentence guidance with positive and negative examples.
- Store component and clause type in message metadata instead of deleting punctuation below a character threshold. Structurally exclude abbreviations, numbers, code, paths, brands, and dynamic content.
- Apply one rule within equivalent components while allowing semantic questions and approved tone marks. Inspect visible copy and accessible names separately so visual cleanup does not damage speech.
- Use lint to find candidates and native review to decide, then regress real wrapping, zoom, and screen readers. Remove a mark only when meaning survives and component consistency improves.
Related
- Same group: T1.06.1 Heading capitalization rules must be consistent · T1.06.3 Mixing full-width and half-width punctuation breaks reading rhythm · T1.06.4 Exclamation marks need a budget
- Adjacent: T1.03.1 Deleting words does not lower comprehension cost · T2.01.3 A button and its context form the sentence together
- Search terms:
terminal punctuation·UI label punctuation·sentence fragment