-
Notifications
You must be signed in to change notification settings - Fork 6.8k
fix(chips): unable to tab out of chip list #4605
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(chips): unable to tab out of chip list #4605
Conversation
* Fixes not being able to escape focus from an `md-chip-list` backwards via shift+tab on all browsers. * Fixes not being able to tab out of an `md-chip-list` at all on Firefox. Fixes angular#4593.
@@ -59,11 +63,19 @@ export class MdChipList implements AfterContentInit { | |||
/** The chip components contained within this chip list. */ | |||
chips: QueryList<MdChip>; | |||
|
|||
constructor(private _elementRef: ElementRef) { } | |||
/** Tab index for the chip list. */ | |||
_tabIndex = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why Shift+tab doesn't work on tabindex=0?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's because the browsers determine that the previous tabbable element is the parent (since the chips are tabindex="-1"
and the chip list is tabindex="0"
). When the parent receives focus, it forwards it back to the first chip. As an aside, Firefox also tabs into the parent when tabbing forward.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
md-chip-list
backwards via shift+tab on all browsers.md-chip-list
at all on Firefox.Fixes #4593.