Skip to content

Commit bc00319

Browse files
committed
fix: address SonarCloud accessibility and code quality issues
- Replace div+role="button" with native <button> elements for color swatches (resolves Web:S6819 and supersedes the previous keydown workaround) - Replace <label> with <p> since it has no associated form control (Web:S6853) - Add readonly modifier to constructor-injected services (typescript:S2933) - Reset native button styles in SCSS to preserve visual appearance Signed-off-by: Jeremy Snidaro <jeremy.snidaro@papernest.com> Signed-off-by: Jeremy SNIDARO <jeremy.snidaro@papernest.com>
1 parent 0a12517 commit bc00319

3 files changed

Lines changed: 14 additions & 10 deletions

File tree

packages/desktop-app/src/app/components/dialogs/change-color-dialog/change-color-dialog.component.html

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,17 @@ <h4>{{session.sessionName}}</h4>
33
<h5>{{session | detail }}</h5>
44

55
<div class="color-form">
6-
<label>Select a color</label>
6+
<p>Select a color</p>
77
<div class="color-swatches">
8-
<div
8+
<button
99
*ngFor="let color of colors"
10+
type="button"
1011
class="color-swatch-wrapper"
11-
role="button"
12-
tabindex="0"
1312
[class.selected]="selectedColor === color.name"
14-
(click)="selectColor(color.name)"
15-
(keydown.enter)="selectColor(color.name)"
16-
(keydown.space)="selectColor(color.name)">
13+
(click)="selectColor(color.name)">
1714
<div class="color-swatch" [style.background-color]="color.hex"></div>
1815
<span class="color-label">{{color.name}}</span>
19-
</div>
16+
</button>
2017
</div>
2118
<br>
2219
<button type="button" (click)="saveColor();" [disabled]="!selectedColor"

packages/desktop-app/src/app/components/dialogs/change-color-dialog/change-color-dialog.component.scss

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.color-form {
22
margin-top: 20px;
33

4-
label {
4+
p {
55
display: block;
66
margin-bottom: 12px;
77
}
@@ -24,6 +24,9 @@
2424
align-items: center;
2525
cursor: pointer;
2626
gap: 4px;
27+
background: none;
28+
border: none;
29+
padding: 0;
2730

2831
&:hover .color-swatch {
2932
transform: scale(1.15);

packages/desktop-app/src/app/components/dialogs/change-color-dialog/change-color-dialog.component.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ export class ChangeColorDialogComponent implements OnInit {
2828
public colors = containerColors;
2929
public selectedColor: string;
3030

31-
constructor(private appService: AppService, private appProviderService: AppProviderService, private messageToasterService: MessageToasterService) {}
31+
constructor(
32+
private readonly appService: AppService,
33+
private readonly appProviderService: AppProviderService,
34+
private readonly messageToasterService: MessageToasterService
35+
) {}
3236

3337
ngOnInit(): void {
3438
this.selectedColor = this.session.color ?? null;

0 commit comments

Comments
 (0)