DEV Community

Cover image for HTML output element

HTML output element

Chris Bongers on December 11, 2020

I've seen this element around a couple of times in articles but never needed it or decided to see what it can do. In general, it's supposed to be ...
Collapse
 
mzaini30 profile image
Zen

<output/>? It's like <span/>

Collapse
 
dailydevtips1 profile image
Chris Bongers

Hmm, not 100% this output element can be used to define a combination of inputs, something a span can't do.
Unless you write specific JS to make it do so.

Collapse
 
costinmanda profile image
Costin Manda

It seems to me that this is like a readonly input, exposing a value that you can change and apparently forcing itself in the window object even if you specify the name attribute. If you replace it with a span that has an id="output" and the .value to .innerHTML in the Javascript, it works just as well.

I see it more useful if we can specify a type, like the input has. It is interesting you mentioned the option to define a combination of inputs, but you have not used it :) Something like for="price vat".

Thread Thread
 
dailydevtips1 profile image
Chris Bongers

Hey, yeah I think it's like many semantic HTML, people tend to make their own options, but why?

We have all this semantic HTML for a reason, I would think.

As for the for the label, indeed, I choose not to show it, because to me it was confusing if that was causing the output value.
So wanted to not dive into that for this guide, but maybe I should state it as the full version.

Thread Thread
 
mzaini30 profile image
Zen

I usually create my own HTML tag, like <hello></hello>. Then, I manipulate with document.querySelector("hello").innerText = "World"

Thread Thread
 
dailydevtips1 profile image
Chris Bongers

To what advantage?
I don't quite know how a custom tag benefits you?

Thread Thread
 
mzaini30 profile image
Zen

For simplify writing. So, I don't write <div class="hello"></div>. Just <hello></hello>

Collapse
 
leob profile image
leob

Amazing ... HTML and CSS are so huge, how many people would know about these more exotic features?

Make me wonder about the browser vendors who need to keep up with all of this and who need to implement these insanely vast and complicated specs in their browser engines - that must be one of the most challenging jobs in the software world.

Collapse
 
dailydevtips1 profile image
Chris Bongers

I think it's all about use cases this specific one I actually haven't seen used on a big website.
So would love to hear if people find elements like this used.

Collapse
 
leob profile image
leob

It's interesting, but it really makes me wonder if they aren't adding too much exotic "baggage" to the HTML and CSS standards.

I mean, should something like this really be part of the HTML "core"? I'm afraid that web APIs (HTML, CSS and so on) might get excessively bloated at some point - don't forget that browser vendors have to implement all of this stuff whether people use it or not. At some point your web browser might become bigger and heavier than the OS you're running it on.

It would have my preference if web components or other generic standards would be promoted and implemented, so that people can just build this kind of stuff (like an 'output' element) themselves, instead of adding an endless number of "ad hoc" features (which almost nobody uses) to the standard.

Thread Thread
 
dailydevtips1 profile image
Chris Bongers

Yeah I think at one point they tried to steer away from this by having people come up with their own components like but now they kind of put half of those in the HTML spec.

I agree might get bloated one day