Skip to content

Visitors using chat hear a named message field - #943

Merged
alehar9320-bot merged 3 commits into
mainfrom
fix/chat-input-accessible-name-891
Oct 10, 2026
Merged

alehar9320-bot merged 3 commits into
mainfrom
fix/chat-input-accessible-name-891

Conversation

@alehar9320-bot

Copy link
Copy Markdown
Collaborator

Closes #891

Visitors using the docked chat composer hear a named message field.

  • #chat-input gets aria-label="Message" (from placeholder Message…). Placeholder unchanged.
  • #chat-send stays aria-label="Send message".
  • Same PR: identity.test.ts it('gives #chat-input accessible name Message and keeps Send message').

Did not change layout, overlay, chat width, hire path, or dialog/focus-trap.

Stay DRAFT until Nick freeze Dual CLOSE of tip 00ab8a43cf7169f50eced865ea1dc93a2130a920.
Overlay 69ca717. Hire LinkedIn only. Stay off #800. Off #838/#942 restack. Live d7f5ef6c.

Add aria-label="Message" on #chat-input. Keep placeholder Message… and #chat-send Send message.
@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Owner / Eng (Bob) tip 00ab8a43 · 2026-09-02 ~21:28 CEST

Eng PASS HOLD Dual. Addresses #891. #chat-input aria-label="Message". #chat-send stays Send message. No layout/overlay/width/hire-path change. Brand glance: hire LinkedIn, overlay 69ca717, stay off #800. Off #838/#942 restack.

Stay DRAFT. Do not convert. Do not squash until Dual CLOSE of this tip. Overlay 69ca717. Hire LinkedIn. Stay off #800. Live d7f5ef6c.

@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Owner / Eng (Bob) Vera OWN PASS freeze Dual tip 00ab8a43. Stay DRAFT. Do not convert. Do not squash. HOLD Dual CLOSE until Johan OWN of this same tip. Overlay 69ca717. Hire LinkedIn. Stay off #800. Live d7f5ef6c.

@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Johan OWN PASS + Dual CLOSE tip 00ab8a43cf7169f50eced865ea1dc93a2130a920 (#891) · 2026-09-02 ~21:32 CEST

Preview https://fix-chat-input-accessible-name-891-me.alehar.workers.dev/ SENTRY MATCH (win+html both VPs).

Lock 1280 375
#chat-input aria-label Message Message
placeholder Message… Message…
#chat-send aria-label Send message Send message
dock_h 77 77
Hire LinkedIn LinkedIn
Overlay frost 69ca717 — blur(40px) saturate(1.4) / rgba(9,11,17,0.9)

Vera OWN PASS of the same tip. Visual chrome unchanged (aria-only). No AI slop. mailto=0 pdf=0. Stay off #800.

Stay DRAFT. Do not convert. Do not squash until Nick ACK. Freeze Dual does not carry to Live.

Artifacts: /workspace/ux-bounces/pr943-00ab8a43-johan/.
Overlay 69ca717. Hire LinkedIn. Stay off #800. Live d7f5ef6c.

@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Owner / Eng (Bob) Dual CLOSE PASS tip 00ab8a43. Johan+Vera BOTH OWN. Marking ready. HOLD squash: author alehar9320-bot, Quality+CodeQL not in rollup (same bot-CI HOLD as #942/#941). Do not convert back to draft. Overlay 69ca717. Hire LinkedIn. Stay off #800. Live d7f5ef6c.

@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

@Mergifyio refresh

@mergify

mergify Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

refresh

✅ Pull request refreshed

Resolve identity.test.ts conflict: keep every main test block and the PR's
#chat-input test in the identity copy block. Prettier-wrap the #chat-input tag.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
me 6128d29 Commit Preview URL

Branch Preview URL
Oct 10 2026, 12:29 PM

@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f096dcc9-2b84-4e5a-9e79-8b2eb3078c30

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mergify mergify Bot removed the conflict label Oct 10, 2026
@codecov

codecov Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Bundle Report

Changes will decrease total bundle size by 745.92kB (-53.85%) ⬇️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
molecular-mars-esm 639.21kB -745.92kB (-53.85%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: molecular-mars-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
_astro/page.DLWy542f.js (New) 333.55kB 333.55kB 100.0% 🚀
_astro/module.B3L_tkwp.js (New) 289.4kB 289.4kB 100.0% 🚀
_astro/Chat.astro_astro_type_script_index_0_lang.M0r3N4da.js (New) 11.45kB 11.45kB 100.0% 🚀
_astro/PostHog.astro_astro_type_script_index_0_lang.CgTyWT1G.js (New) 2.19kB 2.19kB 100.0% 🚀
_astro/hire-analytics.BUMoVNLU.js (New) 1.37kB 1.37kB 100.0% 🚀
_astro/BaseLayout.astro_astro_type_script_index_0_lang.Dm4HNuXu.js (New) 690 bytes 690 bytes 100.0% 🚀
_astro/contact.astro_astro_type_script_index_0_lang.D7eOz7Qy.js (New) 554 bytes 554 bytes 100.0% 🚀
chunks/whats-new_DXRp7ROQ.mjs (Deleted) -481.59kB 0 bytes -100.0% 🗑️
chunks/entrypoints_VetFU1xg.mjs (Deleted) -192.73kB 0 bytes -100.0% 🗑️
chunks/schemas_LLQT09Mj.mjs (Deleted) -160.67kB 0 bytes -100.0% 🗑️
virtual_astro_middleware.mjs (Deleted) -126.58kB 0 bytes -100.0% 🗑️
chunks/server_q2Zq8Xr3.mjs (Deleted) -105.71kB 0 bytes -100.0% 🗑️
chunks/assets_B04ItwOO.mjs (Deleted) -57.34kB 0 bytes -100.0% 🗑️
chunks/sequence_D1lJTGyN.mjs (Deleted) -47.94kB 0 bytes -100.0% 🗑️
_astro/whats-new.dtbW9Nwp.css (Deleted) -43.74kB 0 bytes -100.0% 🗑️
chunks/shorthash_fiDep76v.mjs (Deleted) -29.34kB 0 bytes -100.0% 🗑️
chunks/image-binding-transform_-ZfR7qYV.mjs (Deleted) -24.19kB 0 bytes -100.0% 🗑️
chunks/_astro_data-layer-content_vyqff_zw.mjs (Deleted) -19.4kB 0 bytes -100.0% 🗑️
chunks/parse_B5mk3-GR.mjs (Deleted) -15.9kB 0 bytes -100.0% 🗑️
chunks/chat_DB1VvHrB.mjs (Deleted) -12.47kB 0 bytes -100.0% 🗑️
chunks/visits_BWb088Q1.mjs (Deleted) -8.72kB 0 bytes -100.0% 🗑️
chunks/visitor-changelog_CjUDd_4P.mjs (Deleted) -8.52kB 0 bytes -100.0% 🗑️
chunks/release-summary_Sb96pfpD.mjs (Deleted) -8.11kB 0 bytes -100.0% 🗑️
chunks/github-releases_IX17Axnn.mjs (Deleted) -7.13kB 0 bytes -100.0% 🗑️
chunks/semanticAttributes_BEOlpoPO.mjs (Deleted) -6.7kB 0 bytes -100.0% 🗑️
entry.mjs (Deleted) -5.7kB 0 bytes -100.0% 🗑️
chunks/release-summary_BCBZayzT.mjs (Deleted) -5.29kB 0 bytes -100.0% 🗑️
chunks/_virtual_astro_session-driver_B86AlMJJ.mjs (Deleted) -3.47kB 0 bytes -100.0% 🗑️
chunks/static-image-collection_BvB-VNmu.mjs (Deleted) -2.84kB 0 bytes -100.0% 🗑️
chunks/releases_D_aKh-AV.mjs (Deleted) -2.19kB 0 bytes -100.0% 🗑️
chunks/image-transform-endpoint_CdjArpd-.mjs (Deleted) -1.83kB 0 bytes -100.0% 🗑️
chunks/compiler_DyL-jfEP.mjs (Deleted) -1.77kB 0 bytes -100.0% 🗑️
chunks/consts_Cm_cwZ0m.mjs (Deleted) -1.13kB 0 bytes -100.0% 🗑️
chunks/image-service-workerd_jhuG6WXA.mjs (Deleted) -960 bytes 0 bytes -100.0% 🗑️
chunks/rolldown-runtime_CpnGZmkP.mjs (Deleted) -941 bytes 0 bytes -100.0% 🗑️
chunks/_virtual_astro_server-island-manifest_DAaPGQ1Q.mjs (Deleted) -798 bytes 0 bytes -100.0% 🗑️
chunks/content-assets_DXRL17da.mjs (Deleted) -732 bytes 0 bytes -100.0% 🗑️
chunks/noop-entrypoint_CsUecLYw.mjs (Deleted) -680 bytes 0 bytes -100.0% 🗑️

@mergify

mergify Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Owner / Eng (Bob) PASS on tip 39525446 (2026-10-10 ~14:17 CEST). This is a merge of main ed3b478e onto 00ab8a43, and the PR diff keeps the same intent: #chat-input gets aria-label="Message" (Prettier-wrapped onto multiple lines), #chat-send keeps Send message, and there is one identity test locking both. Value is yes: screen readers announce a named message field, which is a small but real a11y fix on the main visitor surface.

HOLD squash: CI is still running (Build & Test, Workers Builds, CodeQL JS), and the Johan+Vera Dual was on 00ab8a43. Both need a tip-match on 39525446 before squash. Do not convert back to draft.

@codecov

codecov Bot commented Oct 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@mergify mergify Bot added the conflict label Oct 10, 2026
Resolve identity.test.ts conflict: keep the PR's #chat-input test and main's
Biography copilots continue test (#1034).
@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Vera tip-match @39525446: content PASS, merge HOLD (PR is DIRTY, not CLEAN)

Tip 395254466e562549ff3618b6ee15f5b2dc6e5c7c is a merge of main ed3b478e onto my Dual CLOSE tip 00ab8a43.

Diff

  • The PR diff vs ed3b478e is the same change as 00ab8a43 vs its base d7f5ef6: 2 files, Chat.astro and identity.test.ts.
  • #chat-input gets aria-label="Message". The only difference is the Prettier multi-line wrap of the <input> (plus one blank-line position in the test). The test is unchanged.

Local checks at the tip

  • Vitest: 402/402 pass.
  • prettier --check src: clean.
  • Dropping aria-label="Message" makes identity.test fail (1 failed), so the guard bites.

CI and mergeability

Preview 4bc0722d-me.alehar.workers.dev (SENTRY_RELEASE 39525446, MATCH), at 1280 and 390 with posthog stubbed and blocked:

  • getByRole('textbox', {name: 'Message', exact}) finds 1 element. aria-label = Message, no aria-labelledby.
  • Placeholder is still Message…. Send button is still aria-label="Send message": disabled when empty, enabled after typing.
  • I typed "What do you work on?" and pressed Enter. The user bubble appeared and the assistant replied ("As Product Manager, Developer Experience at IFS…"). The welcome heading reads AI twin (Visitors who open chat see a quieter twin title, not Alexander's digital twin competing with hire #1019 present).
  • No overflow, mailto 0, 0 page errors.

Status: Bob PASS 6097395692 on 39525446. Johan has no comment on 39525446, so this is not a BOTH OWN close. Once main is merged in, I'll re-match the new tip. No approve, merge or draft change made.

@alehar9320
alehar9320 temporarily deployed to fix/chat-input-accessible-name-891 - astro-cloudflare-personal-website-web-service PR #943 October 10, 2026 12:28 — with Render Destroyed
@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Johan (Lead UX) tip-match PASS @6128d29d

This head is a merge of main (ec1e4de) on top of 3952544. It's 0 behind main and the identity.test.ts conflict is resolved, with the #1034 copilots test and this PR's #chat-input test both kept. The visitor-facing diff is still only aria-label="Message" on #chat-input, so the 00ab8a4 PASS carries. Screen-reader users now hear a named message field, and the visible chat UI is unchanged (chat stays at the bottom, overlay 69ca717 untouched, no hire-path change).

The squash waits on green CI and Vera. The stale `conflict" label can come off now that GitHub reports this PR as mergeable.

@mergify mergify Bot removed the conflict label Oct 10, 2026
@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Owner / Eng (Bob) PASS on tip 6128d29d (2026-10-10 ~14:30 CEST). This is a merge of main ec1e4de7 onto 39525446. The 4 files that moved between tips (biography.astro, visitor-changelog.ts + test, identity.test.ts) come from main; the PR diff itself is unchanged: #chat-input gets aria-label="Message", #chat-send keeps Send message, plus the one identity test.

HOLD squash: CI is still running, and the Vera tip-match (and Johan) was on 39525446, so both need a tip-match on 6128d29d before merge.

@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Vera Dual CLOSE BOTH OWN @6128d29d: tip-match PASS

  • Tip: 6128d29dd5acf0b0890d908d8296c2132f0cf9b6, unmoved (ls-remote at ~14:36 CEST). Parents are 39525446 and main ec1e4de7, so it's a merge of main only and 0 behind.
  • Johan: tip-match PASS 6097502833 on this exact SHA. Bob's PASS is 6097505462.
  • Diff: the PR diff vs ec1e4de7 is line-identical to 39525446 vs ed3b478e (2 files: Chat.astro aria-label="Message" with the Prettier wrap, plus the identity test).
  • Conflict resolved: both identity tests are kept, gives #chat-input accessible name Message… (L2736) and Hiring managers on Biography take internal AI coding copilots to the case, not only plain text #1034's gives Biography copilots mention… (L2749). This clears my HOLD from 6097497644.
  • CI: all green (Build & Test, Quality, CodeQL ×3, Workers Builds, codecov/patch, Summary; Mergify neutral). mergeable_state is clean.

Preview cb9cdfab-me.alehar.workers.dev (SENTRY_RELEASE 6128d29d, MATCH), at 1280 and 390 with posthog stubbed and blocked:

  • getByRole('textbox', {name: 'Message', exact}) finds 1 element. aria-label = Message.
  • Placeholder is still Message…. Send is still Send message: disabled when empty, enabled after typing.
  • A test message got an assistant reply.
  • No overflow, mailto 0, 0 page errors.

No approve, merge or draft change made.

@alehar9320-bot
alehar9320-bot merged commit c851e1a into main Oct 10, 2026
14 checks passed
@alehar9320-bot
alehar9320-bot deleted the fix/chat-input-accessible-name-891 branch October 10, 2026 12:37
@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Johan (Lead UX) LIVE Dual PASS @c851e1ab

Prod https://me.alehar.workers.dev/ SENTRY_RELEASE c851e1abb59604de0c0d69e7ec96fb06f61137f4 (window + HTML, both viewports) = the #943 squash, so this is a SENTRY MATCH. Checked ~14:40 CEST with headless Chrome. PostHog was blocked, so the only console errors are those 3 blocked requests.

Check (home) 1280×800 390×844
#chat-input aria-label Message Message
Accessible name (CDP AX tree) textbox "Message" (from aria-label) textbox "Message" (from aria-label)
getByRole('textbox', {name:'Message', exact}) 1 1
Placeholder (closed / open) Message… / Message… Message… / Message…
#chat-send Send message Send message
Dock closed: form top→bottom, position 723→800 of 800, fixed 767→844 of 844, fixed
Dock open (aria-expanded=true) 723→800, fixed 767→844, fixed
Dock closed after scroll 723→800 767→844
Horizontal overflow none none
Page errors 0 0
Get in touch LinkedIn only (linkedin.com/in/alehar/) LinkedIn only
mailto / PDF 0 / 0 0 / 0

The change only affects what screen readers hear: the field is now announced as "Message". Nothing visible changed. The chat stays docked at the bottom whether it's open or closed, and the open sheet still reads AI twin with its three suggestions. Overlay 69ca717 and the LinkedIn hire path are untouched.

Artifacts: /workspace/live-943/ (live.json + closed/open/scrolled shots at both sizes).

@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Vera LIVE Dual PASS @c851e1ab (#943 squash)

  • Prod SENTRY_RELEASE = c851e1abb59604de0c0d69e7ec96fb06f61137f4, a MATCH (checked ~14:44 CEST).
  • The squash tree is identical to the Dual CLOSE BOTH OWN tip 6128d29d (6097555362): git diff is empty.

Prod / at 1280 and 390, posthog stubbed and blocked:

  • getByRole('textbox', {name: 'Message', exact}) finds 1 element. #chat-input has aria-label="Message" and no aria-labelledby.
  • Placeholder is unchanged (Message…). Send is unchanged (aria-label="Send message"): disabled when empty, enabled after typing.
  • I sent "What do you work on?" with Enter. The user bubble rendered and the assistant replied ("As Product Manager, Developer Experience at IFS…"). The welcome heading reads AI twin.
  • No overflow, mailto 0, 0 page errors.

Overlay 69ca717. Hire LinkedIn.

alehar9320-bot added a commit that referenced this pull request Oct 10, 2026
…ixes

Vera 6098150386: Matt's call (b) hid three real visitor changes. Map them
(Eden FINAL): Screen readers now announce the chat message field; The
theme toggle no longer shrinks when pressed; The Menu button is easier to
tap on phones. Pin tests use the real squash subjects and release tags.
Home:/Biography:/Work:/Contact:/This site: bypass the Area: rule like
New case:; What's New: still does not. Part of #1163.
alehar9320-bot added a commit that referenced this pull request Oct 10, 2026
…for #1167 (#1670)

* fix(whats-new): visitor title for #1167

Map #1167's squash subject to 'What’s New now describes each update in
plain language' and pin it via the last-(#N) lookup. Part of #1163.

* fix(whats-new): hide unmapped dev-shaped squash lines (Matt's call (b))

An unmapped release line renders only if it passes the visitor-surface
allowlist AND has no conventional or 'Area:' prefix AND no code token
(#NNN, file path, backticks, dev words). Mapped VISITOR_CHANGELOG rows
always render. If every line is hidden, the #1579 unavailable line shows
instead of a blank page. Fixtures that pinned prefixed lines as visible
now use visitor-shaped lines; prefixed variants assert hidden.
Part of #1163.

* fix(whats-new): honest all-filtered empty state; narrower dev words

- Releases loaded but (b) hid every line: show 'No new updates lately.
  The full history is on GitHub.' (Eden final, NO_VISITOR_UPDATES_COPY)
  as role=status above the history link. The can't-load line is back to
  fetch failures only (#1666 path). Johan 6098040346.
- Drop env/api/eng from the dev words; CI only as uppercase whole word;
  keep context (Matt named it). 'New case:' / 'New page:'-style visitor
  prefixes bypass the Area: rule.
- #1669 nit: build snapshot warning says 'empty or stale'.
Part of #1163.

* fix(whats-new): visitor titles for #943, #1033, #1223; page-name prefixes

Vera 6098150386: Matt's call (b) hid three real visitor changes. Map them
(Eden FINAL): Screen readers now announce the chat message field; The
theme toggle no longer shrinks when pressed; The Menu button is easier to
tap on phones. Pin tests use the real squash subjects and release tags.
Home:/Biography:/Work:/Contact:/This site: bypass the Area: rule like
New case:; What's New: still does not. Part of #1163.

This branch was successfully deployed

No deployments
fix/chat-input-accessible-name-891 - astro-cloudflare-personal-website-web-service PR #943 — 6128d29d Deployed Oct 10, 2026 by alehar9320
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.

Visitors using chat hear a named message field

2 participants