Skip to content

Use the review's words across the editor - #279

Closed
PhilReinking wants to merge 17 commits into
stack/bits-274-phase-2from
feat/bits-287-wording
Closed

PhilReinking wants to merge 17 commits into
stack/bits-274-phase-2from
feat/bits-287-wording

Conversation

@PhilReinking

@PhilReinking PhilReinking commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

The editor's answer settings, choices, consents and text toolbar now use the review's wording table: plain words, sentence case, and settings headings named by answer type. So do the help pages. The table below marks rows earlier PRs changed.

Fixes BITS-287

  • "Identifier" is now "Short name". Its help says where it shows. The review's "Name in exports" was wrong: the CSV export uses question IDs.
  • Every switch in the editor shows on/off. The Yes/No labels are gone.
  • The text editor's counter shows characters only. The word count is gone from useContentLength.
  • "No choices yet." and "No consents yet." have no second line. EmptyState's description is optional now.

Tested: Vitest, lint, vue-tsc and build green locally (stacked, so no CI). By hand at 1440 and 390: settings of all 15 answer types, type picker, rules, top bar menus.

Not tested: with a screen reader.

Screenshots: on BITS-287.

Known gap: help texts under D9Label aren't tied to their field and are grey-400 on grey-50 (2.4:1). Both come from D9Label itself.

Not in this PR: consent "Label" and "Message" placeholders, yes/no switches on the Privacy and Completion pages.

Wording table: every row
# Row Status
1 No blocks found already changed by #268 and #276
2-3 Block, Group buttons → Add question, Add group already changed by #268
4 Welcome to the Editor → Add your first question already changed by #276
5-6 block ID, --empty-- already changed by #268
7 Copy ID → Copy question ID already changed by #277
8-9 delete block and group dialogs already changed by #269
10 Block Logic → Logic already changed by #274
11-12 Required, Hide this question already changed by #268 and #274
13-15 sidebar summaries (consent, files, rating) no longer needed: sidebar removed
16-18, 20, 22, 24-31 rule words already changed by #274
19, 23 empty rule texts no longer needed: no empty rule panel
21 Rule #1 → Rule 1 applied
32 Message → Question text already changed by #268
33 Type your message here… question: already changed by #276; the editor's default (end screen, Completion page): "Type your text…" applied
34-39 counter, toolbar, link and image prompts applied
40, 42 Type, More Settings already changed by #268
41, 44-48 type picker and answer type names already changed by #276
43 Identifier → Short name applied, help text changed from the review's
49 Input Settings → heading by type applied
50, 52-68 choices, consent, field, rating, date, file settings applied
51 Add new option → Add choice already changed by #268 and #275
69 Group Name, placeholder label by #268; placeholder "e.g. About you" applied
70 ID, Last Change already changed by #268 and #277
71 "not saved" notice already changed by #267
F16 one switch style applied
server rule errors, submit API docs left for backend: #278

🤖 Generated with Claude Code

PhilReinking and others added 9 commits October 13, 2026 03:49
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@PhilReinking PhilReinking left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK at f77efdb, one should and one nit inline. No CI (stacked), local runs: Vitest 481, lint, vue-tsc, build.

The 13 new or changed tests fail on 3c9e495. Applied rows match the table and Philipp's calls, and the old words are gone from the settings and the docs. The CSV export does use question IDs. All 15 answer types read right at 1440, the 390 sheets don't overflow. Dropping the word count and Yes/No changes no behavior.

<p :id="`${id}-identifier-help`" class="mb-1 text-xs text-grey-600">
This name is used when submitting your form through webhooks and in the
export.
Used in prefill links, webhooks, emails and the submissions table.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should: the submission email doesn't use the short name. form-submitted.blade.php shows the question ID, the question text and the answer. Prefill links, webhooks (name in each response) and the submissions table (SubmissionsTable.vue:105) do use it. The document tests pass with this text.

Suggested change
Used in prefill links, webhooks, emails and the submissions table.
Used in prefill links, webhooks and the submissions table.

:label="fileType.label"
/>
</div>
<p class="mt-1 text-xs text-grey-600">None ticked: all types allowed.</p>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: this line comes after the boxes and isn't tied to them, so someone who tabs through the boxes with a screen reader doesn't hear it. The markup allows it: id="file-types" on the D9Label (it then renders id="file-types-label"), role="group" aria-labelledby="file-types-label" aria-describedby="file-types-help" on the wrapper, and id="file-types-help" here. Not run.

PhilReinking and others added 3 commits October 13, 2026 09:29
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@PhilReinking PhilReinking left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK at 2e16cb7, both earlier points fixed. No CI (stacked), local runs: Vitest 481, lint, vue-tsc, build.

In the browser the file types are one group named "File types" and described by "None ticked: all types allowed." The short name help no longer names emails. The end screen text shows "Type your text…", questions keep their own placeholder.

PhilReinking and others added 3 commits October 13, 2026 09:36
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@PhilReinking PhilReinking left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK at 0af912b, one should inline. No CI (stacked), local runs: Vitest 481, lint, vue-tsc, build. The 3 changed tests fail on 2e16cb7.

Consent and Text only keep the panel named "Settings" for screen readers. The rule chip reads "If a deleted question is …". Nit: the hidden heading still takes space-y-6, so those panels start 40 px above Short name, not 16 px.

<D9Input
id="textarea-max-chars"
placeholder="The maximum number of characters"
placeholder="No limit"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should: an empty field saves max_chars: null, and the public form then has no limit. But opening the question again shows 500 (?? 500 on line 64) and saves 500 back, so "No limit" lasts only until the next open. Tried on the test server, value put back after. The reset is old; this text just invites people to try it. Factory tests pass with this.

Suggested change
placeholder="No limit"
placeholder="e.g. 500"

PhilReinking and others added 2 commits October 13, 2026 09:42
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@PhilReinking PhilReinking left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK at c6354e6, both points from 0af912b fixed. No CI (stacked), local runs: Vitest 481, lint, vue-tsc, build. The 2 changed heading tests fail on 0af912b.

Chrome's accessibility tree still names the Consent and Text only panels "Settings" through the hidden heading. Those panels now start 16 px down. Short text, Long text, Single choice, Rating, Date and File upload are unchanged.

@PhilReinking

Copy link
Copy Markdown
Contributor Author

Landed in main with #282 (the editor rebuild as one PR); this PR's commits are part of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant