Skip to content

fix(cdk/a11y): focusVia not accounting for focused child node #21512

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

Merged
merged 1 commit into from
Jan 9, 2021

Conversation

crisbeto
Copy link
Member

@crisbeto crisbeto commented Jan 7, 2021

In #20966 some logic was added so that calling focusVia on an element that already has focus would change the origin to the passed-in one. The problem is that the new logic doesn't account for when a parent element is monitored and focusVia is called on a child.

These changes add some more logic that will look through all the monitored elements that have checkChildren: true and will switch the origin accordingly.

Fixes #21500.

cc @zelliott

@crisbeto crisbeto added P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent G This is is related to a Google internal issue target: patch This PR is targeted for the next patch release labels Jan 7, 2021
@google-cla google-cla bot added the cla: yes PR author has agreed to Google's Contributor License Agreement label Jan 7, 2021
In angular#20966 some logic was added so that calling `focusVia` on an element that already
has focus would change the origin to the passed-in one. The problem is that the new
logic doesn't account for when a parent element is monitored and `focusVia` is called
on a child.

These changes add some more logic that will look through all the monitored elements
that have `checkChildren: true` and will switch the origin accordingly.

Fixes angular#21500.
@crisbeto crisbeto force-pushed the 21500/focus-monitor-focus-via branch from c9a63a6 to 2540419 Compare January 7, 2021 11:23
@zelliott
Copy link
Collaborator

zelliott commented Jan 7, 2021

LGTM

@crisbeto crisbeto added the action: merge The PR is ready for merge by the caretaker label Jan 7, 2021
Copy link
Member

@jelbourn jelbourn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@annieyw annieyw merged commit f8df9f8 into angular:master Jan 9, 2021
annieyw pushed a commit that referenced this pull request Jan 9, 2021
In #20966 some logic was added so that calling `focusVia` on an element that already
has focus would change the origin to the passed-in one. The problem is that the new
logic doesn't account for when a parent element is monitored and `focusVia` is called
on a child.

These changes add some more logic that will look through all the monitored elements
that have `checkChildren: true` and will switch the origin accordingly.

Fixes #21500.

(cherry picked from commit f8df9f8)
wagnermaciel pushed a commit to wagnermaciel/components that referenced this pull request Jan 14, 2021
…r#21512)

In angular#20966 some logic was added so that calling `focusVia` on an element that already
has focus would change the origin to the passed-in one. The problem is that the new
logic doesn't account for when a parent element is monitored and `focusVia` is called
on a child.

These changes add some more logic that will look through all the monitored elements
that have `checkChildren: true` and will switch the origin accordingly.

Fixes angular#21500.
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Feb 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker cla: yes PR author has agreed to Google's Contributor License Agreement G This is is related to a Google internal issue P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent target: patch This PR is targeted for the next patch release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bug(FocusMonitor): Focus origin of already focused element doesn't change if FocusMonitor is on parent with checkChildren set to true.
5 participants