Re: [csswg-drafts] [css-nav-1] Consider candidates on the navigation direction. (#4483)

Thanks for the example. It shows that Above() and LeftOf() are needed to avoid loops such as [1]. I think you should emphasize this in a code comment and perhaps also in a spec comment.

[1] down, down, down: A, B, A

We avoid [1] thanks to Below()'s `a.Y > b.Y`. `>=` would cause [1].

(Please correct me if I'm wrong.)

---

By the way, why don't we relax the condition on the orthogonal axis? For example:

```
Below() {
  a.Y >= b.Bottom ||
    (a.Y > b.Y && a.X <= b.Right && a.Right >= b.X)
}
```

The current wording does not prevent `<=` and `>=` on the X-axis. [2] [3] 

[2] _"top edge is below the top edge of searchOrigin’s boundary box if dir is down"_
[3]  _"whose boundary box partially overlaps with inside area of searchOrigin"_

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

Received on Friday, 10 January 2020 09:06:02 UTC