Skip to content

fix(web): フォーカスの枠が、はみ出しを切る親で欠ける部品を直す - #826

Merged
aida0710 merged 3 commits into
mainfrom
fix/clipped-focus-outline
Nov 11, 2026
Merged

aida0710 merged 3 commits into
mainfrom
fix/clipped-focus-outline

Conversation

@aida0710

Copy link
Copy Markdown
Owner

何を直したか

フォーカスの枠(2pxのアウトライン、要素から2px離す)は、要素の外へ4px出ます。端まで届く行や、横に流れるタブの列の中のボタンでは、はみ出しを切る親が枠を切って、片側が見えませんでした。

  • Connectionsのグループの行、サイドバーの「新しいセッション」、接続エディタのタブ、スニペットの行、SFTPのタブとパンくずは、枠を内側に描くようにしました(sshc-focus-inset)
  • 接続先を追加するフォームは、縦に流れる枠の左右に余白を取りました。overflow-y-autoの枠は横のはみ出しも切るためです

確かめたこと

  • 全ページを巡回する配置の検査(e2e/support/layoutDefects.ts)にcut-focus-outlineを足しました。PCの大きさの画面で、枠の片側が親に切られる部品を報告します。スマホの配置は対象外です(指で使う部品は枠を出さないため)
  • 直す前は、最悪のデータの1280x800の巡回で延べ167件を報告して落ちました。直した後はe2e/layout-audit.spec.tsの全部が通りました
  • SFTPは巡回に入っていません。SFTPのタブとパンくずは、別の実測で枠が切れていたものを直しましたが、この検査では守られていません
  • sftp-tab-order、sftp-workspace-layout、connections-groups、connectionsのe2eと合わせて59件が通りました。npm run typecheckとnpm run lintも通りました

https://claude.ai/code/session_014WPnWu8NLT7prLQhhzYpc1

フォーカスの枠は要素の外へ4px出る。端まで届く行や、横に流れるタブの列の中のボタンでは、
親が枠を切って片側が見えなかった。

- 全ページを巡回する配置の検査(e2e/support/layoutDefects.ts)に cut-focus-outline を足す。
  PCの大きさの画面で、枠の片側が親に切られる部品を報告する。直す前は延べ167件
- Connectionsのグループの行、サイドバーの「新しいセッション」、接続エディタのタブ、スニペットの行、
  SFTPのタブとパンくずは、枠を内側に描く(sshc-focus-inset)
- 接続先を追加するフォームは、縦に流れる枠の左右に余白を取る

Claude-Session: https://claude.ai/code/session_014WPnWu8NLT7prLQhhzYpc1
内側に描く枠が効くことを e2e で確かめる(グループの行で outline-offset が -2px)。

Claude-Session: https://claude.ai/code/session_014WPnWu8NLT7prLQhhzYpc1
#823 で hover に替えたが、前後のコードは bg-well の箱の中にあり、ライトでは hover(#f0f0f0)と
well(#f2f2f2)の見分けが付かない。一段濃い surface にする。

Claude-Session: https://claude.ai/code/session_014WPnWu8NLT7prLQhhzYpc1
@aida0710
aida0710 merged commit 34bd2f8 into main Nov 11, 2026
29 checks passed
@aida0710
aida0710 deleted the fix/clipped-focus-outline branch November 11, 2026 11:12
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