fluentui icon indicating copy to clipboard operation
fluentui copied to clipboard

Improve performance of focus selectors in v9

Open ling1726 opened this issue 3 years ago • 1 comments

The current data-keyboard-nav selector that is applied to the FluentProvider causes too much style recalclation each time the user's navigation mode changes (mouse/keyboard).

Below are results of the SelectorStats trace from edge://tracing which measures the time spent per-selector during the matching phase. The comparison was done by comparing selector stats for .fui-focus-visible (polyfill) vs the current [data-keyboard-nav] selector.

(Lower numbers are better)

[data-keyboard-nav] on provider root

time elapsed fast reject count match attempts match count
2098 1120 23511 416

Tasks

  • [x] Create more localized focus selectors #24154
  • [ ] microsoft/griffel#178 needs to be resolved so the .fui-FluentProvider does not need to be in the selector at all
  • [x] Use CSS.supports("selector(:focus-visible)") to check platform support and default to :focus-visible #24195

ling1726 avatar Aug 02 '22 12:08 ling1726

Blocked by: microsoft/keyborg#19

ling1726 avatar Aug 10 '22 17:08 ling1726

Because this issue has not had activity for over 150 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

msft-fluent-ui-bot avatar Feb 24 '23 13:02 msft-fluent-ui-bot

Because this issue has not had activity for over 150 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 150 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 150 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 150 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.