future spec custom elements - html

I want to make a desktop app with electronjs. For this I want to use custom elements. (not Polymer)
But here on MDN is a note that the spec will be rewritten:
Spec for Custom Elements will be rewritten in early 2016. All current
implementation are experimental and the upcoming standard will not be
compatible with these. Web sites using Custom Elements are likely to
be broken in the near future.
Are there any updates in this? What will change? Are there new specs available? Where can I find more information on this?

The Custom Elements W3C Editor's Draft specification is available on GitHub. It was last updated on June 1, 2016 (as of this writing) though you can expect it to continue to be updated. To answer your first question, yes, there are updates and you can see them directly at the spec. Which also answers your third and fourth questions.
Because it is a draft, you cannot expect any browser to support it yet (though some claim to). Polyfills are your best bet if you want to use it now, knowing that since you are using bleeding edge technology you will need to stay on top of browser implementations and constantly review what works.
Because it lives on GitHub, you can file bugs against the spec if you want a say in how it progresses (it is not tech support, however). Looking at open issues essentially answers your second question.
As for browser support, Can I Use is tracking where it stands today including who does and doesn't have it on their roadmap. Note that browsers who claim to support it are supporting an incomplete spec that will change. That same page also has a link to lots of handy resources to help get you up to speed.

Related

Scrollbar Customizations That Are Supported by the W3C

I hope this question is on-topic for StackOverflow. I have seen many comments here that a lot of web developers scrollbar customizations are non-standard and not yet approved by the powers that be (W3C.org). My philosophy is to design to the standards Issued for Use by the Industry Organization that guides web standards and specifications because a properly, dependable, working website is what my users want.
Approved scrollbar customization standards that the W3C.org has approved. Where can I get that standard?
If I am off subject again, could you possibly get me some answers first, then pass me to the Red Queen for off with the head?
Thanks Community.
The "standard" Scrollbars CSS Module - Level 1 is in its early stages of adoption and that would be the only one matching your requirements.
Until it's implemented, you're limited to non-standard CSS scrollbar styling support.
Another option (the only production ready one, really) is to use a plugin which basically replaces the scrollbar mechanism with custom HTML elements.
Most of them have trouble with at least one mobile device type (either on IoS or on Android) and the sane solution is to detect it and simply disable the plugin for that case.
Note 1: while W3C support is a very wise thing to look for when choosing how to build your page, it doesn't mean much without browser support. In theory, if Chrome refuses to implement something today, considering their market share is above 60%, they simply won't and nobody can do anything about it. But your clients will require their page to work in Chrome.
However, much of Chrome's popularity comes from strictly sticking to web standards so far, so it would be safe to assume they will continue to abide by them.
Note 2: I recommend this article. It's well written, quite informative and up to date on the current state of scrollbar customizations.

Should you still support IE conditional comments?

As a lone developer with limited resources, I made the decision some time ago not to continue support for IE8 and IE9.
To manage the situation I use IE's conditional comments - I now also use Modernizr to detect support for individual features, which the above browers do not support anyway.
Javascript is also a given for me - if you don't have it, then sorry but we can't do business.
I was therefore considering removing conditional comments and letting Modernizr/javascript do the job.
Conditional comments do break a lot of things that scrape the site - for instance CopyScape will not work - there's also testing software I use that breaks and/or gives out false signals.
Does anyone have any cast iron reasons NOT TO remove them or TO remove them?
Given that support for conditional comments was removed from IE10, I would recommend against using them at this point in time. It's 2017; time to move on. (That's my take, anyway; YMMV.)
I would consider providing a bare bones version of the site designed for any browser other than your preferred one (which, conveniently, also helps you support experiences you didn't plan for).

how is the css shader support as of 2014 & updates

I can't find this feature at caniuse.com and from research it seems no progress has been made since 2012. All articles pretty much are from 2012 as well.
I think this feature will help bring out the power in browsers.
First off, as indicated in this article from Adobe, "CSS Shaders" as a whole are now known as "CSS Filter Effects."
The W3C draft spec, which at the time of this writing was last modified in November of 2013, defines the new features. Many of the new features are basically just existing SVG filter effects that will now be able to be used from CSS for arbitrary elements.
According to CanIUse, some of the filter effects are available for newer versions of modern browsers. However, I suspect that this does not include the actual shader features, which are known as CSS Custom Filters / CSS Custom Shaders.
This article from March 2013 goes into an introduction to custom CSS filters/shaders, and links to more resources. It also mentions that custom filters have to be enabled directly from about:flags in Chrome.
So, basically, custom filters are still very much experimental, and very very few, if any, browsers will support it out of the box.

HTML5 site implementation

My question is borne out of my confusion on (still incomplete, with existing features still evolving?) HTML5 support in different browsers, all the resources available on how to implement existing features and simple practicality.
1) How do you go about implementing HTML5 only features in your web-site? Do you do some kind of browser/version check at first access and notify user that he should install some other browser (though cumbersome and uncomfortable to the user)?
2) Is there a way to check availability of HTML5 features in user's browser dynamically (version X of Chrome does not support it, next might and it should work then) and easily without some significant computing overhead and significant coding?
3) Assuming the answer to 2) is yes, what to do about changes in spec that might occur in the future? (The check would say fine, the browser does implement e.g. WebGL, but my implementation would run into errors as there would be some changes between the spec I had used during development and spec that was enhanced in the W3C process and would make my implementation incompatible)
to start using html5, make sure that the first line in your html is <!doctype html> this tells the browser that you are speaking in the language of html5
this google-hosted html5 shiv helps to ensure that the new html5 tags work in older browsers and as someone already pointed out, you can and dare I say it, should use modernizr to test the browser's CSS rendering capabilities
This is just something you need to keep abreast of yourself unfortunately ;) The way I look at it, if the spec changes in a big way, lets say they decided to remove the <article>, there will be a lot of chatter online and you are likely to read about it
I recommend that you take a look at html5-boilerplate. It's a A rock-solid default for HTML5 awesome.` It's a starter kit with template html, CSS and Javascript files for building an html5 website.
This is useful: http://www.modernizr.com/
As for 3: I think that's just a risk of using a technology before it's out of spec.
Take a look at modernizr, it's a js library that will do various feature detection tests and gives you a way to query whether or not to use a particular feature. You can also load specific js files with modernizr.load based on whether a feature is supported in the browser.
http://www.modernizr.com/
Tutorial: http://www.alistapart.com/articles/taking-advantage-of-html5-and-css3-with-modernizr/

Use of HTML5 for a new website

Due to the low level of support for HTML5 in older browsers should one (or could one) use any part of HTML5 at this point in time for a new website that will have varying users with the full spectrum of browsers (and versions) to access the site?
EDIT: To fill in some more info here. The website in question, for simplistic comparison, would resemble fb. I am not talking a social website just one that will reach that type of vast audience (anyone can join) and will be an interactive portal (not just a site full static content being displayed).
First, HTML5 is a standard that includes the previous standards. Therefore, you are already doing HTML5 without knowing it.
Second, HTML5 could be compared to CSS in terms of feature grouping (CSS = CSS1 + CSS2 + CSS3 and so on). In other words, it is a collection of individual features and not one big thing.
Third, you will have to implement new HTML5 features one day or another. Why wait? Ooh right some people do not care about "modern browsers". You have a responsibility as a Web developer/designer to inform people about the consequences of obsolete browsers.
Last but not least, there is tons of information already... Like this website: http://diveintohtml5.ep.io/.
Some complementary info can be found from this answer and this other answer I wrote for other questions about HTML5.
Have fun! :)
Thank god MS is finally campaigning to get gid of IE6 but it surely will be in China for years to come due to pirated windows software which I had altogether too much experience with; despite this push for higher standards tons still use IE7, 8, and some even 9 is not perfect. Chrome IMOP is exceptional followed by Safari and FF for HTML5 support but even these browsers are not perfect.
I think it is ok to use features css3 and HTML5 such as canvas but in an unobtrusive manner like javascript enhances UI HTML5/CSS3/jQuery should enhance not be the content.
With javascript we can check for browsers and use appropriate methods this concept should also be applied to HTML5. So if you do implement anything I think it's important to understand how to detect and this is probably the best resource to start with.
http://diveintohtml5.ep.io/detect.html
You can use all of the new HTML Field types in forms safely, any HTML 5 inputs in browsers which don't support html 5 will simply fall-back to a standard type="text" inputs.
Mobiles currently seem to benefit from HTML 5 forms most at the moment as they recognise the input type, lets say "email" and then provide an email specific keyboard layout to the user.
Its also simple to provide JavaScript fall backs for some html 5 elements with http://www.modernizr.com/