The following perfectly illustrates 'update() problem' that I've complained about:
<html>
<head>
<style>
button
{
white-space: nowrap;
}
#check1:checked
{
color: red;
border: 2px solid red;
}
#check2:checked
{
color: red;
outline: 2px solid red;
}
</style>
</head>
<body>
<button type="checkbox" id="check1">Check me!</button>
<br><br>
<button type="checkbox" id="check2">Check me!</button>
</body>
</html>
You can use browser.exe to load this. Check the first checkbox. It must get red border around it and it does. Then check the second checkbox; it's supposed to get red outline, but it does NOT. Moreover, cover a part of the second checkbox with another window and then move it away (window). You'll see that only part which was covered gets updated and outline appears.