Skip to content

Commit bf23edf

Browse files
committed
space is not mandatory in attricute selector parsing when a modifier is expected, per https://www.w3.org/TR/2026/WD-selectors-4-20260122/#typedef-attribute-selector
Fixes #450
1 parent 62819be commit bf23edf

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

org/w3c/css/parser/analyzer/CssParser.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5634,7 +5634,6 @@ final public CssSelectors subclass_selector(CssSelectors selector) throws ParseE
56345634
if (jj_2_19(2)) {
56355635
label_148:
56365636
while (true) {
5637-
jj_consume_token(S);
56385637
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
56395638
case S:{
56405639
;
@@ -5644,6 +5643,7 @@ final public CssSelectors subclass_selector(CssSelectors selector) throws ParseE
56445643
jj_la1[216] = jj_gen;
56455644
break label_148;
56465645
}
5646+
jj_consume_token(S);
56475647
}
56485648
mod = ident();
56495649
} else {
@@ -11322,7 +11322,6 @@ private boolean jj_3R_layer_1850_43_242()
1132211322
private boolean jj_3_19()
1132311323
{
1132411324
Token xsp;
11325-
if (jj_scan_token(21)) return true;
1132611325
while (true) {
1132711326
xsp = jj_scanpos;
1132811327
if (jj_scan_token(21)) { jj_scanpos = xsp; break; }

org/w3c/css/parser/analyzer/CssParser.jj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2642,7 +2642,7 @@ void attribute_selector(CssSelectors s) :
26422642
| val=<STRING>
26432643
{ val.image = convertStringIndex(val.image, 1, val.image.length() -1, false);}
26442644
)
2645-
( LOOKAHEAD(2) ( <S> )+ mod=ident() )? ( <S> )* )?
2645+
( LOOKAHEAD(2) ( <S> )* mod=ident() )? ( <S> )* )?
26462646
<RBRACKET>
26472647
{
26482648
if (ac.getCssVersion() == CssVersion.CSS1) {

0 commit comments

Comments
 (0)