IntelliJプラグインのAnActionと登録設定を実装・変更し、表示文言やアイコンの定義、非同期処理の起動方法を整えます。
- IDEに新しいアクションを追加したいとき
- アクションの登録やアイコンを変更したいとき
- 表示名と説明文の定義を整理したいとき
IntelliJベースの画面を、キーボード操作、フォーカス移動、読み上げ用ラベルや動的な通知の観点から点検するアクセシビリティレビュー用スキルです。
Review IntelliJ UI accessibility for keyboard, focus, and labels.
実行スコア 未検証
インストール方法を見るIntelliJベースのIDEやプラグインのUIを、キーボード、フォーカス、スクリーンリーダー、色のコントラスト、拡大表示、ローカライズなどの観点で点検します。SwingやKotlin UI DSLでは、既定のアクセシビリティ情報が不足・不正確な場合に限って、名前、役割、状態、値、変更通知を補う方針を示します。Tabによる移動順やフォーカスの抜け道、Escapeでの終了、動的な検索結果やエラーの通知など、画面上で確認する項目も整理できます。
IntelliJ UIを新しく作る、変更する、またはレビューする場面に向いています。ダイアログやポップアップのキーボード操作、フォーカス順、読み上げ時の情報不足を確認したいときに使えます。
スクリーンリーダーを使った確認は、資料では実施可能な場合の検証方法として挙げられています。WindowsではNVDAまたはJAWS、macOSではVoiceOverが例示されています。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill when creating, changing, or reviewing UI in an IntelliJ-based IDE, including plugin UI. Do not use it just because a feature has a UI surface if the work is not on the UI itself. It covers accessibility expectations for Swing, Kotlin UI DSL, and other UI stacks, plus review and verification checks for keyboard use, screen readers, focus, labels, dynamic feedback, contrast, scaling, and localization.
Follow WCAG 2.2 as the primary accessibility standard.
Accessible context details are relevant only for Swing-based UI, including Kotlin UI DSL.
JLabel.setLabelFor(). Set or override the accessible name only when the inferred name is absent, ambiguous, or incorrect.AccessibleContext and its properties only when implicit metadata is missing, insufficient, or incorrect.component.getAccessibleContext().accessibleName = ... / accessibleDescription = ... for assigning one already-known value.AccessibleContextUtil when it adds value: copying metadata from another component, combining multiple accessible strings, avoiding duplicate descriptions, setting an accessible parent, or normalizing multiline text for screen readers.accessibleDescription in rare cases for supplementary text that already exists in the UI but is not otherwise read when the related component receives focus, such as comments, banners, hints, warnings, or inline explanations. Do not invent a separate description from scratch or duplicate the visible label/state.AccessibleRole.LABEL for plain text content and AccessibleRole.TEXT for editable or selectable text fields/text areas. Use the specific button role that matches behavior: PUSH_BUTTON, RADIO_BUTTON, TOGGLE_BUTTON, or HYPERLINK.AccessibleAction, AccessibleText, AccessibleSelection, AccessibleValue, or other Accessible* interfaces they implement before choosing interfaces manually.AccessibleAnnouncerUtil.announce() for the most important changes outside the focused component or changes that do not fit existing property-change support.AccessibleAnnouncerUtil.isAnnouncingAvailable() when code depends on announcement support.ScreenReader.isActive() only for the rare behavior that must differ for screen reader users. By default, the UI should behave the same for all users.Check the UI before finishing code changes:
Tab moves focus to the next focusable component and Shift+Tab moves it to the previous one. This applies for every focusable surface: dialogs, popups, tool windows, and embedded panels.Escape closes dialogs and popups. From a tool window it returns focus to the editor when that is the expected exit path.focusTraversalKeysEnabled = false; a Tab/Shift+Tab key binding or a component that consumes the key; a custom FocusTraversalPolicy.Tab currently does something other than move focus, the recommended fix is to move that behavior to a non-traversal key and leave Tab and Shift+Tab for traversal. Keep a Tab override only where it is a platform convention users already expect, such as Tab completing inside an open completion popup, and scope it to that state alone.ScreenReader.isActive().Tab order and compare that order against the visual layout. Note any key that overrides traversal and what it does instead.まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
IntelliJプラグインのAnActionと登録設定を実装・変更し、表示文言やアイコンの定義、非同期処理の起動方法を整えます。
IntelliJのJPSテストモジュールをBazelへ移行し、Bazelだけで起きる失敗を依存関係や実行環境から切り分ける手順を案内します。
IntelliJのKotlin・Javaコードを新規作成やレビューする際に、言語の選び方、書式、型の扱い、例外処理などのプロジェクト規約に沿って整えるスキルです。
IntelliJ向けの変更を適切な単位に分け、チケットの有無に応じた形式で、理由や判断も伝わるコミットメッセージを作成・修正するスキルです。
Pythonコードの型推論や型エラーを複数の型チェッカーで比較し、各ツールの判定と診断内容をまとめたレポートを作成します。
Compose Desktopの画面で状態や副作用をどこに持たせるか整理し、表示と判断の境界、再利用部品やリストの設計を整えます。