Outsystems wraps most inputs in a span, as you can see in the screenshots below. In some cases, that leads to cumbersome CSS selectors. For example, when I want to style a label succeeding an input, I need to write the following CSS: span:has(> .checkbox) + label { ... css styling } If I wouldn't be wrapped, I could just simply use the input + label selector. Also leads to a cleaner DOM imho.