fix: UX polish - cursor-pointer, right-align, aria-labels#391
Conversation
📝 WalkthroughWalkthroughThis PR applies UI and accessibility improvements across five components in the platform services. Changes include reformatting imports for consistency, adding aria-label attributes to interactive elements (copy buttons, trash icons), adjusting column header and cell alignment in table configurations (using JSX renderers for right-aligned spans), and enhancing visual feedback through cursor styling. Code formatting updates improve readability in multi-line structures while maintaining existing logic and functionality. Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
services/platform/app/features/automations/executions/executions-client.tsx (1)
215-229:⚠️ Potential issue | 🟡 MinorMissing
aria-labelon copy button.Per the PR objectives, icon-only buttons should have
aria-labelattributes for WCAG 2.1 AA compliance. The copy button inapi-key-create-dialog.tsxwas updated with an aria-label, but this similar copy button is missing one.♿ Proposed fix to add aria-label
<Button variant="ghost" size="icon" className="p-1" + aria-label={copiedId === row.original._id ? tCommon('actions.copied') : tCommon('actions.copy')} onClick={(e) => { e.stopPropagation(); copyToClipboard(row.original._id); }} >Alternatively, if there's no
actions.copiedtranslation key, a static label works:<Button variant="ghost" size="icon" className="p-1" + aria-label="Copy execution ID" onClick={(e) => {
🤖 Fix all issues with AI agents
In
`@services/platform/app/features/settings/api-keys/components/api-key-create-dialog.tsx`:
- Around line 45-61: The last expires option object in the options list is
single-line while the others are multi-line; update the object with value '0'
(label tSettings('apiKeys.form.expiresOptions.never')) inside the array in
api-key-create-dialog.tsx (within the ApiKeyCreateDialog / expires options
block) to the same multi-line formatting as the other entries for consistency.
Summary
cursor-pointerto breadcrumb navigation buttons in documents viewaria-labelto icon-only buttons (copy key button, remove file button) for WCAG 2.1 AA complianceFiles changed
breadcrumb-navigation.tsx— cursor-pointer on 3 interactive buttonsuse-websites-table-config.tsx— right-aligned scanInterval header + cellexecutions-client.tsx— right-aligned duration header + cellapi-key-create-dialog.tsx— aria-label on copy buttoncustomer-import-form.tsx— aria-label on trash/remove buttonTest plan
Summary by CodeRabbit
Accessibility Improvements
Style Updates