diff options
author | Caroline Chuong <caroline.chuong@octo.com> | 2020-06-11 19:19:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-11 19:19:23 +0200 |
commit | adcf921271654b25f03949d2271d7d7c362985af (patch) | |
tree | e00b3cc5e501950da7c23cc774798d8121f3156a /client/src/app/shared/buttons | |
parent | 45800f7e63665708665ab0252049e54846ec84c5 (diff) | |
download | PeerTube-adcf921271654b25f03949d2271d7d7c362985af.tar.gz PeerTube-adcf921271654b25f03949d2271d7d7c362985af.tar.zst PeerTube-adcf921271654b25f03949d2271d7d7c362985af.zip |
add keyboard navigation for video actions (#2854)
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
Diffstat (limited to 'client/src/app/shared/buttons')
-rw-r--r-- | client/src/app/shared/buttons/action-dropdown.component.html | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/client/src/app/shared/buttons/action-dropdown.component.html b/client/src/app/shared/buttons/action-dropdown.component.html index 952b3b6f8..12933d4ca 100644 --- a/client/src/app/shared/buttons/action-dropdown.component.html +++ b/client/src/app/shared/buttons/action-dropdown.component.html | |||
@@ -1,5 +1,5 @@ | |||
1 | <div class="dropdown-root" ngbDropdown [placement]="placement" [container]="container" *ngIf="areActionsDisplayed(actions, entry)"> | 1 | <div class="dropdown-root" ngbDropdown [placement]="placement" [container]="container" *ngIf="areActionsDisplayed(actions, entry)"> |
2 | <div | 2 | <button |
3 | class="action-button" [ngClass]="{ small: buttonSize === 'small', grey: theme === 'grey', orange: theme === 'orange', 'button-styled': buttonStyled }" | 3 | class="action-button" [ngClass]="{ small: buttonSize === 'small', grey: theme === 'grey', orange: theme === 'orange', 'button-styled': buttonStyled }" |
4 | ngbDropdownToggle role="button" | 4 | ngbDropdownToggle role="button" |
5 | > | 5 | > |
@@ -7,7 +7,7 @@ | |||
7 | <my-global-icon *ngIf="!label && buttonDirection === 'vertical'" class="more-icon" iconName="more-vertical"></my-global-icon> | 7 | <my-global-icon *ngIf="!label && buttonDirection === 'vertical'" class="more-icon" iconName="more-vertical"></my-global-icon> |
8 | 8 | ||
9 | <span *ngIf="label" class="dropdown-toggle">{{ label }}</span> | 9 | <span *ngIf="label" class="dropdown-toggle">{{ label }}</span> |
10 | </div> | 10 | </button> |
11 | 11 | ||
12 | <div ngbDropdownMenu class="dropdown-menu"> | 12 | <div ngbDropdownMenu class="dropdown-menu"> |
13 | <ng-container *ngFor="let actions of getActions()"> | 13 | <ng-container *ngFor="let actions of getActions()"> |
@@ -16,7 +16,7 @@ | |||
16 | <ng-container *ngIf="action.isDisplayed === undefined || action.isDisplayed(entry) === true"> | 16 | <ng-container *ngIf="action.isDisplayed === undefined || action.isDisplayed(entry) === true"> |
17 | 17 | ||
18 | <ng-template #templateActionLabel let-action> | 18 | <ng-template #templateActionLabel let-action> |
19 | <my-global-icon *ngIf="action.iconName" [iconName]="action.iconName" [ngClass]="'icon-' + action.iconName"></my-global-icon> | 19 | <my-global-icon *ngIf="action.iconName" [iconName]="action.iconName" [ngClass]="'icon-' + action.iconName" aria-hidden="true"></my-global-icon> |
20 | 20 | ||
21 | <div class="d-flex flex-column"> | 21 | <div class="d-flex flex-column"> |
22 | <span i18n>{{ action.label }}</span> | 22 | <span i18n>{{ action.label }}</span> |
@@ -33,14 +33,14 @@ | |||
33 | 33 | ||
34 | <span | 34 | <span |
35 | *ngIf="!action.linkBuilder && !action.isHeader" [ngClass]="{ 'with-icon': !!action.iconName }" | 35 | *ngIf="!action.linkBuilder && !action.isHeader" [ngClass]="{ 'with-icon': !!action.iconName }" |
36 | class="custom-action dropdown-item" role="button" [title]="action.title || ''" (click)="action.handler(entry)" | 36 | class="custom-action dropdown-item" tabindex="0" role="button" [title]="action.title || ''" (click)="action.handler(entry)" (keyup.enter)="action.handler(entry)" |
37 | > | 37 | > |
38 | <ng-container *ngTemplateOutlet="templateActionLabel; context:{ $implicit: action }"></ng-container> | 38 | <ng-container *ngTemplateOutlet="templateActionLabel; context:{ $implicit: action }"></ng-container> |
39 | </span> | 39 | </span> |
40 | 40 | ||
41 | <h6 | 41 | <h6 |
42 | *ngIf="!action.linkBuilder && action.isHeader" [ngClass]="{ 'with-icon': !!action.iconName }" | 42 | *ngIf="!action.linkBuilder && action.isHeader" [ngClass]="{ 'with-icon': !!action.iconName }" |
43 | class="dropdown-header" role="button" [title]="action.title || ''" (click)="action.handler(entry)" | 43 | class="dropdown-header" tabindex="0" role="button" [title]="action.title || ''" (click)="action.handler(entry)" (keyup.enter)="action.handler(entry)" |
44 | > | 44 | > |
45 | <ng-container *ngTemplateOutlet="templateActionLabel; context:{ $implicit: action }"></ng-container> | 45 | <ng-container *ngTemplateOutlet="templateActionLabel; context:{ $implicit: action }"></ng-container> |
46 | </h6> | 46 | </h6> |