main
tag: v0.1.0
tag: v0.10.0
tag: v0.11.0
tag: v0.12.0
tag: v0.13.0
tag: v0.14.0
tag: v0.15.0
tag: v0.16.0
tag: v0.16.1
tag: v0.17.0
tag: v0.17.1
tag: v0.18.0
tag: v0.19.0
tag: v0.2.0
tag: v0.20.0
tag: v0.21.0
tag: v0.21.1
tag: v0.22.0
tag: v0.22.1
tag: v0.23.0
tag: v0.24.0
tag: v0.25.0
tag: v0.25.1
tag: v0.26.0
tag: v0.27.0
tag: v0.28.0
tag: v0.29.0
tag: v0.3.0
tag: v0.30.0
tag: v0.30.1
tag: v0.31.0
tag: v0.32.0
tag: v0.33.0
tag: v0.34.0
tag: v0.35.0
tag: v0.35.1
tag: v0.36.0
tag: v0.37.0
tag: v0.38.0
tag: v0.39.0
tag: v0.4.0
tag: v0.40.0
tag: v0.41.0
tag: v0.42.0
tag: v0.43.0
tag: v0.44.0
tag: v0.45.0
tag: v0.46.0
tag: v0.47.0
tag: v0.48.0
tag: v0.49.0
tag: v0.5.0
tag: v0.5.1
tag: v0.51.0
tag: v0.52.0
tag: v0.54.0
tag: v0.55.0
tag: v0.57.0
tag: v0.58.0
tag: v0.59.0
tag: v0.59.1
tag: v0.59.2
tag: v0.6.0
tag: v0.60.0
tag: v0.61.0
tag: v0.62.0
tag: v0.63.0
tag: v0.64.0
tag: v0.65.0
tag: v0.66.0
tag: v0.67.0
tag: v0.68.0
tag: v0.69.0
tag: v0.7.0
tag: v0.70.0
tag: v0.70.1
tag: v0.70.2
tag: v0.71.0
tag: v0.72.0
tag: v0.73.0
tag: v0.74.0
tag: v0.74.2
tag: v0.75.0
tag: v0.75.1
tag: v0.76.0
tag: v0.77.0
tag: v0.8.0
tag: v0.9.0
tag: v0.9.1
Files
Commits
Tags
Notes
Issues
Name the focus-ring token directly and say the browser owns focus
State::Focus.token() was a second, vestigial path to the same variable.
The :focus-visible rule was always the real mechanism, and it is
unchanged: reach and focus are both the browser's here.
Takes makeover-layout 0.19.0.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
2 files changed,
+13 insertions,
-5 deletions
1
1
[package]
2
2
name = "makeover-webview"
3
-
version = "0.34.0"
3
+
version = "0.35.0"
4
4
edition = "2024"
5
5
# One copy of this renderer per dependency graph, enforced by cargo rather than
6
6
# by remembering. Two versions means the generated stylesheet and the emitted
17
17
# patch satisfy the requirement and still fail to compile. That happened once
18
18
# with `form::radio_html` calling `FieldKind::Radio`, and makeover-build is where
19
19
# it surfaced, one release later.
20
-
makeover-layout = "0.18.0"
20
+
makeover-layout = "0.19.0"
21
21
# The capability axis. `makeover-touch` decides whether a hover rule should be
22
22
# gated at all; `makeover-geometry` spells the gate as a media condition. Both
23
23
# answers are owned elsewhere and neither is re-derived here.
27
27
# satisfies "0.8" and keeps a second makeover-geometry in the graph next to the
28
28
# 0.7 this crate asks for. `Density` is nominally distinct across the two and
29
29
# the build fails on a type that reads as identical.
30
-
makeover-touch = "0.11.0"
30
+
makeover-touch = "0.12.0"
31
31
makeover-geometry = "0.7"
32
32
33
33
[lints.rust]
517
517
518
518
/// The keyboard focus ring, placed by the depth it lands on.
519
519
///
520
+
/// This is the webview's **focus ring** and nothing more. **Reach** and
521
+
/// **focus** are both the browser's — the document decides what is reachable
522
+
/// and `:focus-visible` decides which reached thing wears the ring — and no
523
+
/// description states either. The three terms are defined once in
524
+
/// `makeover_layout`'s crate header, "Reach, focus and the focus ring".
525
+
///
520
526
/// One ring for the whole system, because a focus ring's job is to be
521
527
/// recognised and three apps having three of them is the failure. What varies
522
528
/// is where it sits, and that comes off [`Depth`] rather than off a per-
545
551
// Raised, or no edge at all. Outside, standing off by its own width.
546
552
_ => w.to_string(),
547
553
};
554
+
// The token by name. It is `makeover`'s, derived from the action colour,
555
+
// and reaching it through a description member was a second path to the
556
+
// same variable for as long as one existed.
548
557
format!(
549
-
".{selector}:focus-visible {{\n outline: {w} solid var(--{});\n outline-offset: {offset};\n}}\n",
550
-
State::Focus.token()
558
+
".{selector}:focus-visible {{\n outline: {w} solid var(--focus-ring);\n outline-offset: {offset};\n}}\n"
551
559
)
552
560
}
553
561