Re: [csswg-drafts] [css-logical-1] spec should introduce propdef table notation for logical properties (#2822)

The procedures *set a CSS declaration* and *serialize a CSS declaration block* require to check whether a longhand 1. belongs to the same logical property group and 2. has a different mapping logic, than another longhand. A `Logical property group` propdef field allows to check 1 but to check 2, the logical property group, containing a set of longhand names, requires to be splitted in two subsets, corresponding to a mapping logic.

For example:

```js
const logicalPropertyGroups = [
  // ...
  'size': [
    ['block-size', 'inline-size'],
    ['height', 'width'],
  ],
  // ...
]
```

In specs, some longhands of the same logical property group and with the same mapping logic, are defined in the same definition table, which appears below a section title, eg. *Physical Longhands for `scroll-padding`*. 

`w3c/reffy` can take advantage of this grouping in the same table, and of this title, to define a `mappingLogic` field for the longhands defined in this table. 

But for some other longhands, like `contain-intrinsic-*`, both flow-relative and physical longhands are defined in the same table.

Solutions are:

  1. add a `Mapping logic` propdef field
  2. consistently define longhands with same/different mapping logic in same/different propdef table, below a title named after the corresponding mapping logic
  3. status quo: manually maintain the list/sublist of logical property groups and mapping logics

-- 
GitHub Notification of comment by cdoublev
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2822#issuecomment-1293795140 using your GitHub account


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

Received on Thursday, 27 October 2022 16:40:05 UTC