Description
Issue:
While migrating from an old experience to a newer one, the loading animation available in react was replaced with loading symbol from fluent web-components. The fluent team has implemented the loading spinner component using divs instead of svg. This will end up being more performant than an svg, but will not trigger FCP as this is not considered contentful.
based on the definition provided in mdn docs
First Contentful Paint (FCP) is when the browser renders the first content from the DOM, providing feedback to the user that the page is loading. Completing the first contentful paint answers the question "Is it happening?"
reference
This should be considered as FCP as its a signal to lets the user know that the page is loading. But it does not log due to the implementation. There should be a way to specify an element with an attribute as the first content so FCP can log correctly in such cases where the content is different from the defined set of rules. i.e. an image can be made out of a couple of divs to improve performance but will not log as FCP.
In case loading icon should not be considered contentful, then there should be a way to let the browser know that, so it isn't treated as such because its made of svg.
Clarification:
Could you please clarify if loading icons should be considered FCP? If so then we need a way to trigger FCP manually for such cases. If not there needs to be a way to specify that the icons does not constitute a contentful paint.