Skip to content

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

Merged
annieyw merged 1 commit into
angular:masterfrom
crisbeto:21500/focus-monitor-focus-via
Jan 9, 2021
Merged

fix(cdk/a11y): focusVia not accounting for focused child node#21512
annieyw merged 1 commit into
angular:masterfrom
crisbeto:21500/focus-monitor-focus-via

Conversation

@crisbeto

@crisbeto crisbeto commented Jan 7, 2021

Copy link
Copy Markdown
Member

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

zelliott commented Jan 7, 2021

Copy link
Copy Markdown
Contributor

LGTM

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

@jelbourn jelbourn left a comment

Copy link
Copy Markdown
Contributor

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
Copy Markdown

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