WPT details: Tests are located at https://github.com/web-platform-tests/wpt/blob/master/css/css-ui/, including Parsing test: caret-shape-parsing.html; caret-shape: block tests: caret-shape-block-001.html caret-shape-block-001-vrl.html caret-shape-block-001-rtl.html caret-shape-block-001-rtl-vlr.html caret-shape-block-001-rtl-vrl.html caret-shape-block-001-rtl-sideways-rl.html caret-shape-block-001-sideways-lr.html caret-shape-block-001-rtl-sideways-lr.html caret-shape-block-002.html caret-shape-block-empty-001.html caret-shape-block-fallback-001.html caret-shape-block-zoom.html; caret-shape: underscore tests: caret-shape-underscore-001.html; caret-shape overflow tests: caret-eol-001.html caret-eol-002.html caret-eol-003.html caret-eol-004.tentative.html.
The shape of the caret in native applications is most commonly a vertical bar, an underscore or a rectangular block. In addition, the shape often varies depending on the input mode, such as insert or replace. The CSS caret-shape property allows sites to choose one of these shapes for the caret inside editable elements, or leave the choice up to the browser. The recognized property values are auto, bar, block and underscore.
To allow authors to specify the desired shape of the text insertion caret.
Explainers: https://drafts.csswg.org/css-ui/#caret-shape