🎨 Palette: 버튼 비동기 작업 시 aria-busy 상태 적용 - #204
Conversation
- 비동기 작업 중 화면의 버튼에 명시적인 `aria-busy="true"` 속성을 부여하고, 작업 완료 후 이를 제거합니다. - 스크린 리더와 같은 보조 기술(Assistive Technologies)이 사용자에게 로딩 중 상태를 인지시킬 수 있도록 접근성을 개선합니다. - `demo.js`, `viewer.js`의 비동기 호출 요소인 `loadDemoDataBtn`, `retryJobBtn`, `refreshEvidenceBtn`, `submitBtn`, `retryBtn` 등에 적용되었습니다.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
There was a problem hiding this comment.
Pull request overview
This PR improves the viewer’s client-side accessibility by explicitly marking async-action buttons as busy (aria-busy="true") during in-flight operations and clearing that state when work completes, so assistive technologies can announce loading progress more reliably.
Changes:
- Add
aria-busy="true"+disabledbehavior to async buttons indemo.js(load demo data, retry job, refresh KPI evidence, submit document, and history “Details”). - Add
aria-busyhandling for the viewer refresh button inviewer.jsduring status/bootstrap polling. - Document the team learning/action in
.jules/palette.mdfor consistent future application.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/main/resources/static/assets/viewer/viewer.js | Adds aria-busy state management to the viewer refresh button during polling/loading. |
| src/main/resources/static/assets/viewer/demo.js | Adds aria-busy state management to multiple async-action buttons and restores state in finally. |
| .jules/palette.md | Records the accessibility pattern as a reusable guideline for async buttons. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| el.retryBtn.removeAttribute("aria-busy"); | ||
| el.retryBtn.disabled = false; | ||
| el.retryBtn.textContent = "Refresh"; |
Superseded by #162.