
GITHUB . COM {
}
Detected CMS Systems:
- Wordpress (2 occurrences)
Title:
[selectors] The forgiving nature of :has breaks jQuery when used with a complex :has selector Β· Issue #7676 Β· w3c/csswg-drafts
Description:
The fact that the native :has pseudo-class: https://drafts.csswg.org/selectors/#relational takes forgiving-relative-selector-list as an argument: https://drafts.csswg.org/selectors/#forgiving-selector means the contents are not validated...
Website Age:
17 years and 8 months (reg. 2007-10-09).
Matching Content Categories {π}
- Technology & Computing
- Dating & Relationships
- Transportation
Content Management System {π}
What CMS is github.com built with?
Github.com uses WORDPRESS.
Traffic Estimate {π}
What is the average monthly size of github.com audience?
ππ Tremendous Traffic: 10M - 20M visitors per month
Based on our best estimate, this website will receive around 10,634,025 visitors per month in the current month.
check SE Ranking
check Ahrefs
check Similarweb
check Ubersuggest
check Semrush
How Does Github.com Make Money? {πΈ}
Subscription Packages {π³}
We've located a dedicated page on github.com that might include details about subscription plans or recurring payments. We identified it based on the word pricing in one of its internal links. Below, you'll find additional estimates for its monthly recurring revenues.How Much Does Github.com Make? {π°}
Subscription Packages {π³}
Prices on github.com are in US Dollars ($).
They range from $4.00/month to $21.00/month.
We estimate that the site has approximately 5,306,250 paying customers.
The estimated monthly recurring revenue (MRR) is $22,286,249.
The estimated annual recurring revenues (ARR) are $267,434,988.
Wordpress Themes and Plugins {π¨}
What WordPress theme does this site use?
It is strange but we were not able to detect any theme on the page.
What WordPress plugins does this website use?
It is strange but we were not able to detect any plugins on the page.
Keywords {π}
jquery, selector, commented, selectors, emilio, mgol, byungwoo, spec, issue, chrome, lilles, forgiving, engine, versions, break, sign, issues, breaks, older, jqueryjquery, member, anttijk, unforgiving, behavior, collaborator, version, change, projects, works, long, queryselectorall, author, current, broken, webkit, edited, edits, comment, shouldnt, check, csssupportsselectorhas, existing, conflict, realworld, site, navigation, pull, requests, actions, security,
Topics {βοΈ}
byung-woo edits member jquery-specific selectors inside real-world site broken forgiving selector list selector list ends personal information [selectors] anttijk edits existing jquery implementation type projects real-world breakage internal selector engine jquery selector engine older jquery versions jquery check css decision made knowing aarongable added jquery test suite older jquery version comment metadata assignees current webkit behavior org/show_bug jquery selectors mgol mentioned jquery issue defaulting selectors modern selectors projects milestone jquery versions live site forgiving nature forgiving parsing test suite jquery extensions jquery defers jquery path jquery applies jquery fixed chrome 105 release csswg breaks jquery current 3 selectors pseudo-class minor modifications longer throw countless apps standards committee days ago safari shipping unexpected regressions
Payment Methods {π}
- Braintree
Questions {β}
- ))"), which should be unforgiving per spec?
- @Rinzwind did you encounter this issue just in manual testing or did it actually break anything for you on a live site?
- Already have an account?
- Also, is this a "recent version of jQuery" kinda thing?
- Is there any real-world site broken by the change?
Schema {πΊοΈ}
DiscussionForumPosting:
context:https://schema.org
headline:[selectors] The forgiving nature of :has breaks jQuery when used with a complex :has selector
articleBody:The fact that the native `:has` pseudo-class:
https://drafts.csswg.org/selectors/#relational
takes `forgiving-relative-selector-list` as an argument:
https://drafts.csswg.org/selectors/#forgiving-selector
means the contents are not validated.
jQuery has supported the `:has` pseudo-class for ages. However, its support is more powerful; in particular, it allows for jQuery extensions like `:contains` to appear within `:has`.
The way the jQuery selector engine works (and have worked for a long time), the selector is tried against `querySelectorAll` with minor modifications and if it throws, it goes through the internal selector engine. It's either-or.
Since selectors like `ul:has(li:contains('Item'))` no longer throw in Chrome, jQuery defers to `querySelectorAll` and such a selector returns 0 results even if the jQuery path should match something.
We can of course try to patch it in jQuery, perhaps defaulting selectors containing `:has` to use the jQuery selector engine. But it won't help countless apps using older jQuery versions. So I wanted to bring it for consideration for the standards committee. I understand if the decision is going to be "no changes in the spec are planned" but it'd be good to have this discussion and the decision made knowing the consequences.
As you can see, it didn't take long after the Chrome 105 release for us to get a bug report about this breakage:
https://github.com/jquery/jquery/issues/5098
Implementing `:has` according to the spec makes the browser break the jQuery test suite right now.
author:
url:https://github.com/mgol
type:Person
name:mgol
datePublished:2022-09-02T10:54:16.000Z
interactionStatistic:
type:InteractionCounter
interactionType:https://schema.org/CommentAction
userInteractionCount:44
url:https://github.com/7676/csswg-drafts/issues/7676
context:https://schema.org
headline:[selectors] The forgiving nature of :has breaks jQuery when used with a complex :has selector
articleBody:The fact that the native `:has` pseudo-class:
https://drafts.csswg.org/selectors/#relational
takes `forgiving-relative-selector-list` as an argument:
https://drafts.csswg.org/selectors/#forgiving-selector
means the contents are not validated.
jQuery has supported the `:has` pseudo-class for ages. However, its support is more powerful; in particular, it allows for jQuery extensions like `:contains` to appear within `:has`.
The way the jQuery selector engine works (and have worked for a long time), the selector is tried against `querySelectorAll` with minor modifications and if it throws, it goes through the internal selector engine. It's either-or.
Since selectors like `ul:has(li:contains('Item'))` no longer throw in Chrome, jQuery defers to `querySelectorAll` and such a selector returns 0 results even if the jQuery path should match something.
We can of course try to patch it in jQuery, perhaps defaulting selectors containing `:has` to use the jQuery selector engine. But it won't help countless apps using older jQuery versions. So I wanted to bring it for consideration for the standards committee. I understand if the decision is going to be "no changes in the spec are planned" but it'd be good to have this discussion and the decision made knowing the consequences.
As you can see, it didn't take long after the Chrome 105 release for us to get a bug report about this breakage:
https://github.com/jquery/jquery/issues/5098
Implementing `:has` according to the spec makes the browser break the jQuery test suite right now.
author:
url:https://github.com/mgol
type:Person
name:mgol
datePublished:2022-09-02T10:54:16.000Z
interactionStatistic:
type:InteractionCounter
interactionType:https://schema.org/CommentAction
userInteractionCount:44
url:https://github.com/7676/csswg-drafts/issues/7676
Person:
url:https://github.com/mgol
name:mgol
url:https://github.com/mgol
name:mgol
InteractionCounter:
interactionType:https://schema.org/CommentAction
userInteractionCount:44
interactionType:https://schema.org/CommentAction
userInteractionCount:44
External Links {π}(7)
- https://github.blog's revenue stream
- https://drafts.csswg.org/selectors/#relational's financial summary
- What's the financial gain of https://drafts.csswg.org/selectors/#forgiving-selector?
- What's https://blog.jquery.com/2009/01/14/jquery-1-3-released/'s gross income?
- What's https://blog.jquery.com/2022/08/26/jquery-3-6-1-maintenance-release/'s gross income?
- How much does https://bugs.webkit.org/show_bug.cgi?id=244708 pull in?
- How much money does https://www.githubstatus.com/ make?
Analytics and Tracking {π}
- Site Verification - Google
Libraries {π}
- Clipboard.js
- D3.js
- jQuery
- Lodash
Emails and Hosting {βοΈ}
Mail Servers:
- aspmx.l.google.com
- alt1.aspmx.l.google.com
- alt2.aspmx.l.google.com
- alt3.aspmx.l.google.com
- alt4.aspmx.l.google.com
Name Servers:
- dns1.p08.nsone.net
- dns2.p08.nsone.net
- dns3.p08.nsone.net
- dns4.p08.nsone.net
- ns-1283.awsdns-32.org
- ns-1707.awsdns-21.co.uk
- ns-421.awsdns-52.com
- ns-520.awsdns-01.net