Comments (2)
I recently backtracked a bit on this issue in 280a3b6 which changed the way style declarations are parsed. Now, parsing of supported properties is done eagerly in order to more easily support shorthand properties. Previously, when asked for a property foo
, we would look for all declarations of property foo
and pick the last valid declaration. With the introduction of support for sorthand properties, this became a little more tricky as the property foo
could also result from a shorthand declaration such as bar
. When looking for the property foo
, we would therefore also have to look for the property bar
and check if any such declarations result in a foo
. Additionally, a declaration such as bar
might also result in other properties being declared, such as baz
, which we would then also have to deal with to avoid having to parse bar
declarations for both foo
and baz
lookups.
from alfa.
I did some more investigation into this as part of #447 and have concluded that further attempts to delay parts of style resolution likely won't pay off. We need to perform at least a baseline cascade eagerly to benefit from ancestor filtering and need to also eagerly parse properties per my previous comment. The current architecture doesn't seem to support any further laziness.
from alfa.
Related Issues (20)
- Pseudo-elements should be rejected inside most functional pseudo-class selectors
- `!important` User-Agent rules should not be overwritten by `!important` author rules.
- Handle Shadow DOM related pseudo-classes and -elements
- SIA-R83 (Text is clipped) doesn't detect invisibility due to clip-path HOT 4
- Implement SIA-R111: Target Size (1st version)
- Consider absolute `text-indent` in visibility check when layout information is present
- SIA-R14: use stronger character matching algorithm
- Scraper / `Native.toRule` incorrectly expands CSS shorthands that contain variables HOT 2
- r111 documentation page is missing HOT 2
- R111 improvements
- r69 reports subminimum contrast of elements with sufficient contrast HOT 2
- Consider returning `CantTell` on unanswered Applicability questions
- SIA-R111 and SIA-R113 improvements HOT 3
- Modernize Typescript configuration
- Scrolling down changes the outcome of an audit HOT 1
- Accessibility Checker Reports False SIA-R113 Errors for Hidden Elements HOT 4
- Consider `<label>` for `<progress>` as invisible
- Collect constructed stylesheets in `Native.fromNode`
- SIA-R66 and SIA-R69 should (maybe) apply to submit buttons
- `Sequence` are not as transparent as they should
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alfa.