Known issues
zeroheight states plainly, for button labels specifically: “Label text should be title
case,” with an explicit “Label text should not be sentence case” don’t — the source both
pages here are built from.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Divergences, open decisions, and undocumented gaps for Capitalization and punctuation.
| ID | Kind | What |
|---|---|---|
| TITAN-DIV-23 | Divergence | The theme’s naive every-word capitalization doesn’t implement title case’s function-word exceptions — also tracked on Button’s open issues |
| Gap | Why it matters | Status |
|---|---|---|
| No casing rule for page titles, headings, table column headers, menu items, or tab labels. Confirmed for exactly two content types (buttons, error messages); everything else is inferred or unconfirmed. | The most common failure mode for a casing rule is not having one — every other content type in the product needs one of these, whether the answer is title case, sentence case, or something else. | Open |
| Field labels’ casing is Proposed, not confirmed. | If a real source states otherwise, this page’s own constraint and FieldLabel’s content rule both need to change together. | Open |
| No stated rule for ellipsis on actions that open a further step (e.g., “Export…”). Common in other design systems, not confirmed for Titan. | A missing rule here means every author decides independently whether “Export” needs the ellipsis. | Open |
| AP style’s other conventions are assumed, not verified. The source states exactly one exception (Oxford comma); whether every other AP convention (number spelling, quotation punctuation, etc.) is actually followed in shipped product copy hasn’t been checked against real screens. | An assumed baseline is only as good as the one exception anyone has bothered to write down — there could be more that nobody’s documented. | Open |
| ID | Constraint | Would be enforced by |
|---|---|---|
| TITAN-CASE-01 | Button labels are title case, with short function words (articles/conjunctions/short prepositions) lowercased unless first or last. | A shared title-case formatter utility applied to button label props, or a content-lint rule checking casing against the exception word list. |
| TITAN-CASE-02 | Error messages and other full-sentence copy are sentence case. | A sentence-case content-lint rule (e.g. a Vale-style rule) run against error/helper-text strings. |
| TITAN-CASE-03 | Lists of three or more items use the Oxford comma. | A prose/content linter’s serial-comma rule. |
| TITAN-CASE-04 | Labels carry no terminal punctuation; full-sentence messages carry sentence punctuation. | A lint rule flagging trailing periods on label-typed strings and requiring terminal punctuation on message-typed strings. |
| TITAN-CASE-05 | Field labels are sentence case (Proposed). | The same sentence-case linter as the one above, scoped to FieldLabel’s label prop. |
Was this page helpful?