Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

<meta http-equiv="X-UA-Compatible" content="IE=edge"> #728

Closed
JohnnyWalkerDigital opened this issue Jul 9, 2015 · 47 comments
Closed

<meta http-equiv="X-UA-Compatible" content="IE=edge"> #728

JohnnyWalkerDigital opened this issue Jul 9, 2015 · 47 comments

Comments

@JohnnyWalkerDigital
Copy link

I'm not a fan of this meta tag, it's only useful in a tiny minority of cases, slows rendering, and fails validation. In IE8+ the presence of a <!doctype switches the rendering engine to standards compliance -- the only time this tag is useful is if the user has decided to switch your site to compatibility mode in IE8, 9 or 10 (not present in 11), or if you're on an Intranet using IE8, 9 or 10.

Additionally, if you feel you need X-UA-Compatible then Microsoft's best standards are to place it in the header, not the HTML.

Given that Google pushes for latest browser compatibility, and only supports the last two versions of each browser, will this tag be removed on the release of Edge?

@arthurvr
Copy link
Contributor

the only time this tag is useful is if the user has decided to switch your site to compatibility mode in IE8, 9 or 10 (not present in 11)

There are more circumstances where this might happen. See the H5BP docs.

It's only an easy <meta> tag and this (pretty common!) edge case might totally screw up your site so I'd prefer to keep it for now.

fails validation

Not anymore.

Additionally, if you feel you need X-UA-Compatible then Microsoft's best standards are to place it in the header, not the HTML.

It is in the <head> which is where it deserves.

Given that Google pushes for latest browser compatibility, and only supports the last two versions of each browser, will this tag be removed on the release of Edge?

See the readme. basic.html still supports IE8+.

@JohnnyWalkerDigital
Copy link
Author

Hi Arthur, thanks for your reply.

There are more circumstances where this might happen. See the H5BP docs.

Please quote the parts you think I've not covered. Either the site is on the Intranet, the user has chosen to display your site in Compatibility Mode, or Microsoft has placed your site on their Compatibility View list (not mentioned because it's never going to happen). There's no mention of anything else in the H5BP docs (were you thinking of: https://hsivonen.fi/doctype/#ie8 ? Again, nothing is missing).

Here's Microsoft's own flow diagram showing the complete logic:


You can see for yourself what I stated is true.

Not anymore.

Great stuff, but not a strong reason to keep it in.

It is in the head which is where it deserves.

I don't know what you mean here? Microsoft state themselves:

The best practice is an X-UA-Compatible HTTP Header. Adding the directive to the response header tells Internet Explorer what engine to use before parsing content begins. This must be configured in the web site's server.

This is also stated in the H5BP docs:

If possible, we recommend that you remove the meta tag and send only the HTTP response header as the meta tag will not always work if your site is served on a non-standard port, as Internet Explorer's preference option Display intranet sites in Compatibility View is checked by default.

Thanks again.

@arthurvr
Copy link
Contributor

Even if it's an edge case, it's not a big deal so we might as well be safe.

I don't know what you mean here? Microsoft state themselves:

That way. I thought you meant the <html>. lol :p

On a more serious note, WSK can't be opinionated about a server-side setup so that doesn't really matter.

@JohnnyWalkerDigital
Copy link
Author

Hmm. I think it being an "edge case" (and a dying one, too) is precisely the reason why I'm suggesting it should be removed :) It hardly affects anyone, and it causes IE to re-render the page, and isn't even best practice.

@robbbz
Copy link

robbbz commented Jul 16, 2015

👎 I don't see any reason not to be safe. Later on we can remove it when IE8, 9 and 10 die. You're quickly saying something is an edge case, but not showing any proof. Previous research at various boilerplates (such as H5BP) has shown that it's not that uncommon.

That way. I thought you meant the . lol :p

Yes, I thought so too.

WSK can't be opinionated about a server-side setup so that doesn't really matter.

Agree. I think the best we can do is document it, but we can't risk pages to be rendered as IE8.

and it causes IE to re-render the page

[citation needed]

Again, nothing is missing.

There is as some people don't decide themselves for that kind of things, not to say some are unable to decide that themselves. Many users of the web don't know what it is, you don't seem to think about that.

@JohnnyWalkerDigital
Copy link
Author

You're quickly saying something is an edge case, but not showing any proof.

I've offered ample evidence that this could be reasonably considered an edge case by providing a complete list of all the cases where it's needed. What else could I provide?

we can't risk pages to be rendered as IE8

Nobody is talking about pages being rendered in IE8. It doesn't sound like you fully understand what's being discussed here.

and it causes IE to re-render the page [citation needed]

Changing IE's rendering engine causes the page to be re-rendered. This is common sense, although it may only be milliseconds to be fair.

There is as some people don't decide themselves for that kind of things

If that's the case, and websites are being viewed over a non-standard port, then the meta tag does not fix things for them, so that's not a reason to keep it.

Many users of the web don't know what it is, you don't seem to think about that.

I've thought about the fact that a user might click on the Compatibility View icon in IE8, 9 and 10, but again, I consider this to be an edge case: Clicking on the button will break the site, clicking on it again will fix it.

@robbbz
Copy link

robbbz commented Jul 16, 2015

Still not a reason not to be safe, except the few bytes it takes.

Changing IE's rendering engine causes the page to be re-rendered. This is common sense, although it may only be milliseconds to be fair.

Then I at all don't see the issue anymore.

Clicking on the button will break the site, clicking on it again will fix it.

How many people on the web do you think are going to do that? At the end it screws up their experience.

@JohnnyWalkerDigital
Copy link
Author

See the readme. basic.html still supports IE8+.

The readme says it only supports IE9+, actually.

@arthurvr
Copy link
Contributor

Right from the readme:

basic.html - (IE8+) no layout, but still includes our minimal mobile best-practices

@JohnnyWalkerDigital
Copy link
Author

I was looking at this bit:

@robbbz
Copy link

robbbz commented Jul 16, 2015

Where you was looking at is the support for the built-in layout, but IE=edge is in basic.html.

The readme says it only supports IE9+, actually.

That's not true. IE8+ means IE8, 9, 10, ... Which is another reason it should stay.

Don't take it personally but I don't see the point. Safety goes above some bytes and it doesn't add any other disadvantages.

This project is a fork of mobile-boilerplate so first go discuss that there, upstream.

@JohnnyWalkerDigital
Copy link
Author

I'm not talking about basic.html (which is an edge case in itself), but index.html and only after the release of Edge.

WSK's index.html seems to follow Google's practice of only supporting the last two browser versions (it's only IE10+), and with the release of Edge it would make its inclusion pointless: IE11+ don't support it.

@Garbee
Copy link
Contributor

Garbee commented Jul 16, 2015

Let's just stop bikeshedding here. WSK is undergoing a major change soon now that MDL is released. Wait and see what forms from that before debating the merits of this action request.

Go get some actual work done until the refactor is live, then return to debate if the problem isn't solved in the update.

@JohnnyWalkerDigital
Copy link
Author

That's for bringing the conversation down to the level of unnecessarily rude snarkiness, Garbee.

What's MDL?

@ramasilveyra
Copy link
Contributor

@JohnnyWalkerDesign look: http://www.getmdl.io/

@Garbee
Copy link
Contributor

Garbee commented Jul 17, 2015

Sorry you feel that was somehow rude and/or snark. I was simply saying this may not even be an issue soon due to major changes going on. So any further discussion over entirely opinionated and viewpoint based topic is pretty much wasted for the time being. Everyone can be much more productive by simply waiting a bit and seeing what happens next with the project. You've all spent how much time in here now? Perhaps I should have jumped in much sooner before most of the bikeshedding began and then it wouldn't have seemed so snark.

@robbbz
Copy link

robbbz commented Jul 17, 2015

You're building a boilerplate, @Garbee. That's per its definition opinionated and with a bunch of bike shedding. I feel like silencing the conversation is also against every kind of freedom of speech. We are, both, free to say our opinion.

@JohnnyWalkerDigital
Copy link
Author

Thanks @ramasilveyra

@Garbee My issue is largely with you deeming the conversation "bike shedding". It's not appropriate, in a polite sense, or even technically. The purpose of this thread was to discuss the possibility of removing IE=Edge from index.php, and that's what was being discussed. If we'd been discussing what line it should appear on, then we'd have been, by definition, bike shedding.

Plus, as @robbbz correctly points out, sometimes it IS appropriate to discuss what materials to build the bike shed out of.

@robbbz This is a private forum, you do not have "freedom of speech" here. The mods of this project are free to delete any issues they see fit, and other users are free to say whatever they like, too.

@robbbz
Copy link

robbbz commented Jul 17, 2015

This is a private forum, you do not have "freedom of speech" here. The mods of this project are free to delete any issues they see fit, and other users are free to say whatever they like, too.

Two thoughts:

  • This is open source. Not a private form. That's exactly what open source is: discussing things together.
  • Yes, but Garbee is not a mod here.

If we'd been discussing what line it should appear on, then we'd have been, by definition, bike shedding.

Even then I'd argue it's alright. In boilerplates I don't have any problems with that as the given fault/inconsistency/whatever is going to be taken over by hunderds of project.

Sorry you feel that was somehow rude and/or snark. I was simply saying this may not even be an issue soon due to major changes going on.

The adoption of a new CSS library here is unrelated, we're also discussing basic.html, which doesn't include the CSS framework.

@sindresorhus
Copy link
Contributor

I think this bikeshedding should rather be held at https://github.com/h5bp/html5-boilerplate and we should just go with whatever H5BP decides on. They're usually a lot better at handling discussions and decisions like this.

@robbbz
Copy link

robbbz commented Jul 19, 2015

Do note that the level of browser support in WSK and H5BP is not the same, but yes, better to do this over there.

@Garbee
Copy link
Contributor

Garbee commented Jul 19, 2015

That repo also has a much wider audience looking for discussion like this. So the debate of what data and what amount is valid or invalid is of more use being put into that area. Here it would just be lost in a netherworld that few developers look to for guidance.

@addyosmani
Copy link
Contributor

First, thanks for bringing this topic up @JohnnyWalkerDesign. My two cents are that @alrra and the team over at H5BP do a truly extensive amount of research when it comes to areas like this and WSK is in good hands following their lead.

The HTML boilerplate portion of our project is after-all just one part and there shouldn't (in practice) be a massive amount of difference between what both projects do for their index.html file (minus WSK's focus on mobile webapps, which does lead to us using more meta tags/setup in that area).

@robbbz
Copy link

robbbz commented Jul 27, 2015

deleted

@JohnnyWalkerDigital
Copy link
Author

Thanks for responding, @addyosmani. This is really a separate issue, IMO, and is unique to WSK because of Google's policy of pushing for modern browser adoption by only supporting the last two versions of all major browsers in their software. (https://support.google.com/a/answer/33864?hl=en)

We support the current and previous major releases of Firefox, Internet Explorer, and Safari on a rolling basis. Each time a new version is released, we begin supporting that version and stop supporting the third most recent version.

Given that Microsoft Edge is to be released imminently, that soon means that the last two versions of IE (Edge and 11) do not support the X-UA-Compatible meta tag. Given that this is a Google project, will it follow Google policy?

@robbbz
Copy link

robbbz commented Jul 27, 2015

No, @JohnnyWalkerDesign, google products may have a specific browser support but this is a tool (from google) to build sites (non google sites).

@alrra
Copy link
Contributor

alrra commented Jul 29, 2015

From what I could tell @alrra is now inactive because of you and WSK

@robbbz Kinda off-topic, but I'm curious, where did you get that idea / information from? :)

@robbbz
Copy link

robbbz commented Jul 29, 2015

Kinda off topic, but I'm curious, where did you get that idea / information from? :)

@alrra From watching a H5BP discussion somewhere. Should have been in html5-boilerplate, server-configs-apache or effeckt-css as those are the only repos I watch(ed). I can't seem to find the comment anymore, sorry.

@robbbz
Copy link

robbbz commented Jul 29, 2015

@alrra (and feel free to tell me if it's totally wrong; I may have dreamed it too)

@JohnnyWalkerDigital
Copy link
Author

@robbbz I'm fairly certain that Google's policy is ideological, not technical.

@robbbz
Copy link

robbbz commented Jul 29, 2015

@JohnnyWalkerDesign Yes, but that doesn't mean Google should force the same policy on every site (it's a boilerplate soo...) MDL supports IE8+ too.

@Garbee
Copy link
Contributor

Garbee commented Jul 29, 2015

MDL only supports as far back as 9 with CSS-only support. Then IE 10+ for JS support.

@JohnnyWalkerDigital
Copy link
Author

@robbbz I don't know where you get your information from. MDL only completely supports IE10+ (with graceful fallback to IE9)

https://github.com/google/material-design-lite/#browser-support

@robbbz
Copy link

robbbz commented Jul 29, 2015

IE9+ is a pretty big difference from IE11+... Edge doesn't have version numbers so this policy will need to change anyways. Anyways, was just a quick note, the MDL support is unrelated for basic.html, which still is IE8+.

@JohnnyWalkerDigital
Copy link
Author

@robbbz I don't know if you mean to purposely keep derailing this simple discussion or not, but it would be great if any future additions were on topic. As previously stated, basic.html is not what's being discussed.

@robbbz
Copy link

robbbz commented Jul 29, 2015

No, the pages should be consistent. That's the deal with basic.html, it should be the starting point for other pages like that.

@alrra
Copy link
Contributor

alrra commented Jul 29, 2015

From watching a H5BP discussion somewhere. Should have been in html5-boilerplate, server-configs-apache or effeckt-css as those are the only repos I watch(ed). I can't seem to find the comment anymore, sorry.

(and feel free to tell me if it's totally wrong; I may have dreamed it too)

@robbbz That's interesting. For your information: I never stated anything about the WSK project or my inactivity on GitHub. Please apologize to @addyosmani for your comment, and try to keep this discussion on topic.

(@google/web-starter-kit I apologize for my off-topic)

@addyosmani
Copy link
Contributor

Apologies for my slowness in commenting. In general, I try to separate Google's official policy towards browser support from the open-source projects we work on. This is to enable us to take into account what our users need first (WSK/MDL users may in-fact heavily rely on a subset outside of that policy).

At the same time, we're always trying to encourage use of the latest capabilities the Web Platform has to offer (including things like the Web Manifest and theme-color meta-tag). In most cases, these are enhancements that don't break backwards compatibility if a browser doesn't support it, meaning we're able to remain quite flexible on what we target.

Wrt the meta tag in question, my preference is that we keep it around. Per H5BP, we similarly aim to be delete-key friendly. That said, if there are concerns regarding re-rendering or perf while this tag is enabled, we can add inline comments linking to docs on the feature and allow end-users to decide whether it makes sense to keep it around or not in their own projects. Once this project has moved onto primarily just supporting just Edge and beyond, I'm fine with us reconsidering our position here.

@robbbz
Copy link

robbbz commented Jul 29, 2015

That seems like a reasonable conclusion @addyosmani. As mentioned earlier the performance implications are tiny anyway.

That's interesting. For your information: I never stated anything about the WSK project or my inactivity on GitHub.

I found a now-deleted comment on the Effeckt.css repo (that's https://github.com/h5bp/effeckt.css) Which stated "promoting a google product", with @addyosmani working on it, so I don't know what else it could be. You even directly quoted it as the reason of the death of the H5BP open source organization.

Please apologize to @addyosmani for your comment, and try to keep this discussion on topic.

I apologize if it wasn't the truth. You don't seem to be disowning my statements. And it's you who brought the discussion off-topic...

@JohnnyWalkerDigital
Copy link
Author

@addyosmani Thanks for your reply! That all makes sense.

if there are concerns regarding re-rendering or perf while this tag is enabled, we can add inline comments

Maybe just an inline comment making the user aware that per Microsoft's own best practices that it's best served in the HTTP header, plus that it's only applicable for users on IE8, 9 and 10, and even then only in a minority of cases?

Once this project has moved onto primarily just supporting just Edge and beyond, I'm fine with us reconsidering our position here.

I assume you mean IE11 and beyond? :)

@JohnnyWalkerDigital
Copy link
Author

Additionally, here are Microsoft's comments about using the <meta> version of X-UA-Compatible:

If you are using the X-UA-Compatible META tag you want to place it as close to the top of the page's HEAD as possible. ... When Internet Explorer encounters the X-UA-Compatible META tag it starts over using the designated version's engine. This is a performance hit because the browser must stop and restart analyzing the content.

The best practice is an X-UA-Compatible HTTP Header. Adding the directive to the response header tells Internet Explorer what engine to use before parsing content begins.

Applications should not rely on X-UA-Compatible to be an excuse to avoid updating a web application. The X-UA-Compatible directive is a tool to allow applications to work in the latest Internet Explorer version while updates are made to the application.

These comments might help word an inline comment, should one be added.

@alrra
Copy link
Contributor

alrra commented Jul 29, 2015

@robbbz You're obviously a troll 📎, you were even flagged before 📎. So I was curious who you really are.

I found a now-deleted comment on the Effeckt.css repo

Let me help you there: you are probably referring to this comment 📎. You couldn't have possibly seen that comment because it was visible only for like < 10 minutes and it was posted way before you were even on GitHub 📎 (and if you want to state that you have been on GitHub longer, see your comment 📎). Also, again, that comment intentionally didn't contain anything about WSK or why I'm inactive in H5BP (reason why I said "That's interesting." in my previous comment).

with @addyosmani working on it,

@addyosmani didn't even participate in that discussion 📎

Now, it's true that there was at one point an disagreement between me and @addyosmani, however, only a few people knew about that, as I tried to keep that discussion private to not create any drama.

Oddly enough, one of those people is @arthurvr [1] who was:

  • also involved in the Effeckt issue (my comment being a response to his comment)
  • the only one of those people who didn't knew that me and @addyosmani patched things up some time ago and that my inactivity was mainly because I did no longer have time or a strong interest in H5BP (as it happened with other people before me)

[1] Looking at your profile I see that you mostly comment (quite immediately) after @arthurvr and almost always comment in order to defend @arthurvr's comment / point (e.g: this 📎, this 📎, this 📎...), which is very suspicious to say at least.

Given the above, my opinion (good or wrong) is that you are really @arthurvr (even if @arthurvr disagreed with my opinion).

@arthurvr
Copy link
Contributor

I don't like using this wording, but this is bullshit. And honestly, I don't even want to waste time discussing this. It's probably the reason I'm leaving H5BP too. But yeah, you're free to think whatever you want. I just think a little of trust on your co team members would be welcome. I miss one big thing in your theory here, why would I ever want to be doing this.

@robbbz
Copy link

robbbz commented Jul 29, 2015

You pointed out yourself that this is off topic.

I do not know what happened between you and @arthurvr, but I don't like being used as a "weapon" (yes that is how it feels like, if you care) in a personal conflict.

You obviously also failed to do proper research. The most activity on my account wasn't even on @arthurvr or together with him.

@robbbz You're obviously a troll 📎, you were even flagged before 📎. So I was curious who you really are.

I know this is a more general problem with all communication in open source, but try to think that there's always a human on the other side. You just called me a troll in a public forum. Why? Because I'm transsexual? Because I'm new here? Anyhow, please think twice before commenting. And please lock this issue. Offending is not something for public forums.

To explain my noticable responsiveness on tickets Arthur participates in: I'm new to open source. I always read some things from popular accounts just because I found the discussions interesting and learned a bunch. I never wanted to create an account as I was going to be useless in open source.

After Sindre tweeted about his AMA, I created a GitHub account and noticed that Arthur frequently participates in Sindre's discussions, looked at his profile and he does a bunch of front-end related things. I didn't have anything to work on in OSS and no discussions to participate in, so that was interesting to me. Please try to understand we have all been new once. Even you were new at one point. That way I explored a bunch of active and interesting projects. I'm probably going to stick around on some of them, and will drop others.

And I don't even understand the rest of your comment fully. Seems like I dropped a gigantic bomb by posting a simple comment. A comment which simply reiterated what you said yourself (and was most definitely not deleted ten minutes after) Sorry if this was a sensitive topic.

Probably shouldn't have done that, but that is no reason to offend somebody. Even if they're new. And even if you experience them as trolly.

But I'll make you fight out the rest together as I do not understand the rest of it and this discussion seems rather personal between you and @arthurvr.

you were even flagged before

True, that was accidentally as also stated in the ticket you linked yourself.

And now I probably will never come back on a h5bp repo again. Good job, @arthurvr and @alrra. Talking about promoting an organization and off topic conversations.

@JohnnyWalkerDigital
Copy link
Author

I have no idea what's going on here, exactly, or really who any of you are, so I don't wish to take sides, but I'm now wondering something:

You just called me a troll in a public forum. Why? Because I'm transsexual?

@robbbz I read a post of yours today where you said that you don't want to reveal anything yourself online, that you think too much is shared online these days -- which is fine. We don't know your country, nor your name (you said it's not even Rob), and again -- that's fine, but how could @alrra (or indeed anyone) know you're transsexual?

I'm not taking sides, it just struck me as an odd comment to make.

@addyosmani
Copy link
Contributor

Hey folks. I know that at the end of the day everyone involved in this thread wants to push the project forward and we appreciate your input on the original topic. This thread as it stands appears to have strayed off-topic and it makes sense to lock it so we can focus on productive technical discussions elsewhere on the tracker.

@JohnnyWalkerDesign my sincerest apologies. I'm personally fine with either an inline comment or wiki comment regarding your original post. Would you mind opening a new issue and we'll tackle that specific change there? Again, sorry for this thread going in the direction it has.

@google google locked and limited conversation to collaborators Jul 30, 2015
@addyosmani
Copy link
Contributor

We've decided to take H5BP's lead with respect to this particular meta tag and will continue shipping support for it in the upcoming next release. It appears that the performance hit using it is minimal enough that it makes sense for this project. Thanks once again for taking the time to discuss your thoughts on it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants