[csswg-drafts] [css-backgrounds-3] Disallow double `//` in `border-image` (#7672)

cdoublev has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-backgrounds-3] Disallow double `//` in `border-image` ==
`0 // 1` is valid according to the [`border-image` grammar](https://drafts.csswg.org/css-backgrounds-3/#propdef-border-image), but I am not sure the original intent was to allow `//`. The grammar has been [modified (10 years ago)](https://github.com/w3c/csswg-drafts/commit/798cf615622b6bf122cc6b365f2f96851f0daff5) to prevent a trailing `/`. I think the following value definition would prevent `//`:

```diff
     <'border-image-source'>
- || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]?
+ || <'border-image-slice'> [ / <'border-image-width'> | [ / <'border-image-width'> ]? / <'border-image-outset'> ]?
  || <'border-image-repeat'>
```

There is no WPTs for a similar input. I cannot say if this change would represent a back-compat issue.

Similarly, I am noting that you cannot set `<bg-size>` without defining `<bg-position>`: `<bg-position> [ / <bg-size> ]?`. Alternatively, it could be simplified in a consistent way with:

```diff
     <'border-image-source'>
- || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]?
+ || <'border-image-slice'> [ / <'border-image-width'> [ / <'border-image-outset'> ]? ]?
  || <'border-image-repeat'>
```

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7672 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 1 September 2022 07:44:22 UTC