The spec for caret-shape says for block caret shape "The UA must render the insertion caret as a rectangle overlapping the next visible character following the insertion point".
The question is, what we do with the case of zero-width space? In Chromium, by default (bar shape), it displays a bar caret. I'd think that for caret-shape: block and caret-shape: underscore, we probably should display the caret with the width of 1px ( the width of bar shape), which is reflected in this CL .
Please let me know what you think. And if this proposal is reasonable, I wonder if the spec needs a bit update? Thanks!