2.6 sec in total
193 ms
2.2 sec
262 ms
Welcome to zeplin.io homepage info - get ready to check Zeplin best content for India right away, or after learning these important things about zeplin.io
Bring harmony to design delivery
Visit zeplin.ioWe analyzed Zeplin.io page load time and found that the first response time was 193 ms and then it took 2.4 sec to load all DOM resources and completely render a web page. This is quite a good result, as only 45% of websites can load faster.
zeplin.io performance score
name
value
score
weighting
Value3.0 s
49/100
10%
Value6.1 s
12/100
25%
Value4.9 s
64/100
10%
Value1,700 ms
11/100
30%
Value0.007
100/100
15%
Value15.1 s
7/100
10%
193 ms
373 ms
88 ms
178 ms
489 ms
Our browser made a total of 62 requests to load all elements on the main page. We found that 69% of them (43 requests) were addressed to the original Zeplin.io, 6% (4 requests) were made to S.ytimg.com and 5% (3 requests) were made to Google-analytics.com. The less responsive or slowest element that took the longest time to load (806 ms) belongs to the original domain Zeplin.io.
Page size can be reduced by 712.2 kB (52%)
1.4 MB
670.2 kB
In fact, the total size of Zeplin.io main page is 1.4 MB. This result falls beyond the top 1M of websites and identifies a large and not optimized web page that may take ages to load. 45% of websites need less resources to load. Images take 659.2 kB which makes up the majority of the site volume.
Potential reduce by 60.0 kB
HTML content can be minified and compressed by a website’s server. The most efficient way is to compress content using GZIP which reduces data amount travelling through the network between server and browser. HTML code on this page is well minified. It is highly recommended that content of this web page should be compressed using GZIP, as it can save up to 60.0 kB or 80% of the original size.
Potential reduce by 188.4 kB
Image size optimization can help to speed up a website loading time. The chart above shows the difference between the size before and after optimization. Obviously, Zeplin needs image optimization as it can save up to 188.4 kB or 29% of the original volume. The most popular and efficient tools for JPEG and PNG image optimization are Jpegoptim and PNG Crush.
Potential reduce by 237.9 kB
It’s better to minify JavaScript in order to improve website performance. The diagram shows the current total size of all JavaScript files against the prospective JavaScript size after its minification and compression. It is highly recommended that all JavaScript files should be compressed and minified as it can save up to 237.9 kB or 63% of the original size.
Potential reduce by 225.8 kB
CSS files minification is very important to reduce a web page rendering time. The faster CSS files can load, the earlier a page can be rendered. Zeplin.io needs all CSS files to be minified and compressed as it can save up to 225.8 kB or 83% of the original size.
Number of requests can be reduced by 17 (33%)
51
34
The browser has sent 51 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Zeplin. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 12 to 1 for JavaScripts and as a result speed up the page load time.
zeplin.io
193 ms
zeplin.io
373 ms
zeplin.css
88 ms
index.css
178 ms
webcomponents.min.js
489 ms
iframe_api
75 ms
zeplin.js
216 ms
index.js
251 ms
badge_light.png
87 ms
www-widgetapi.js
139 ms
analytics.js
123 ms
sdk.js
528 ms
paper-ripple.html
97 ms
zeplinText.svg
77 ms
bgPath.svg
98 ms
icZeplin.svg
75 ms
ssAll.png
529 ms
ssTypeface.png
322 ms
ssAsset.png
528 ms
ssNote.png
639 ms
ssGuideline.png
526 ms
icCursor.svg
319 ms
icPlay.svg
518 ms
icSketch.png
510 ms
hoverSignup.svg
521 ms
photoMengTo.png
528 ms
icSlack.png
529 ms
icPinterest.png
569 ms
icShopify.png
529 ms
icFeedly.png
584 ms
icPrezi.png
582 ms
icDev.svg
581 ms
icHeartWhite.svg
583 ms
icDes.svg
634 ms
icHeartRed.svg
659 ms
icTwitter.svg
657 ms
icFacebookBlue.svg
673 ms
icZeplinGray.svg
670 ms
Roboto-Regular.woff
683 ms
Roboto-Medium.woff
672 ms
Roboto-Light.woff
681 ms
Roboto-Italic.woff
682 ms
Roboto-MediumItalic.woff
806 ms
Roboto-LightItalic.woff
718 ms
polymer.html
717 ms
iron-a11y-keys-behavior.html
721 ms
linkid.js
21 ms
tbKZAGthUgQ
68 ms
collect
12 ms
collect
60 ms
www-embed-player-vflQrT_sR.css
32 ms
www-embed-player.js
58 ms
base.js
126 ms
6BOEML_YqI6cKINK5dmh8ZufcXg7sBa4jeB-I9gQ0xI.js
81 ms
ad_status.js
81 ms
zN7GBFwfMP4uA6AR0HCoLQ.ttf
92 ms
RxZJdnzeo3R5zSexge8UUaCWcynf_cDxXwCLxiixG1c.ttf
98 ms
179 ms
xd_arbiter.php
426 ms
polymer-mini.html
89 ms
polymer-micro.html
88 ms
javascript;charset=utf-8,(function%20()%20%7B%0Afunction%20resolve()%20%7B%0Adocument.body.removeAttribute('unresolved')%3B%0A%7D%0Aif%20(window.WebComponents)%20%7B%0AaddEventListener('WebComponentsReady'%2C%20resolve)%3B%0A%7D%20else%20%7B%0Aif%20(document.readyState%20%3D%3D%3D%20'interactive'%20%7C%7C%20document.readyState%20%3D%3D%3D%20'complete')%20%7B%0Aresolve()%3B%0A%7D%20else%20%7B%0AaddEventListener('DOMContentLoaded'%2C%20resolve)%3B%0A%7D%0A%7D%0A%7D())%3B%0APolymer%20%3D%20%7B%0ASettings%3A%20function%20()%20%7B%0Avar%20user%20%3D%20window.Polymer%20%7C%7C%20%7B%7D%3B%0Alocation.search.slice(1).split('%26').forEach(function%20(o)%20%7B%0Ao%20%3D%20o.split('%3D')%3B%0Ao%5B0%5D%20%26%26%20(user%5Bo%5B0%5D%5D%20%3D%20o%5B1%5D%20%7C%7C%20true)%3B%0A%7D)%3B%0Avar%20wantShadow%20%3D%20user.dom%20%3D%3D%3D%20'shadow'%3B%0Avar%20hasShadow%20%3D%20Boolean(Element.prototype.createShadowRoot)%3B%0Avar%20nativeShadow%20%3D%20hasShadow%20%26%26%20!window.ShadowDOMPolyfill%3B%0Avar%20useShadow%20%3D%20wantShadow%20%26%26%20hasShadow%3B%0Avar%20hasNativeImports%20%3D%20Boolean('import'%20in%20document.createElement('link'))%3B%0Avar%20useNativeImports%20%3D%20hasNativeImports%3B%0Avar%20useNativeCustomElements%20%3D%20!window.CustomElements%20%7C%7C%20window.CustomElements.useNative%3B%0Areturn%20%7B%0AwantShadow%3A%20wantShadow%2C%0AhasShadow%3A%20hasShadow%2C%0AnativeShadow%3A%20nativeShadow%2C%0AuseShadow%3A%20useShadow%2C%0AuseNativeShadow%3A%20useShadow%20%26%26%20nativeShadow%2C%0AuseNativeImports%3A%20useNativeImports%2C%0AuseNativeCustomElements%3A%20useNativeCustomElements%0A%7D%3B%0A%7D()%0A%7D%3B%0A(function%20()%20%7B%0Avar%20userPolymer%20%3D%20window.Polymer%3B%0Awindow.Polymer%20%3D%20function%20(prototype)%20%7B%0Avar%20ctor%20%3D%20desugar(prototype)%3B%0Aprototype%20%3D%20ctor.prototype%3B%0Avar%20options%20%3D%20%7B%20prototype%3A%20prototype%20%7D%3B%0Aif%20(prototype.extends)%20%7B%0Aoptions.extends%20%3D%20prototype.extends%3B%0A%7D%0APolymer.telemetry._registrate(prototype)%3B%0Adocument.registerElement(prototype.is%2C%20options)%3B%0Areturn%20ctor%3B%0A%7D%3B%0Avar%20desugar%20%3D%20function%20(prototype)%20%7B%0Aprototype%20%3D%20Polymer.Base.chainObject(prototype%2C%20Polymer.Base)%3B%0Aprototype.registerCallback()%3B%0Areturn%20prototype.constructor%3B%0A%7D%3B%0Awindow.Polymer%20%3D%20Polymer%3B%0Aif%20(userPolymer)%20%7B%0Afor%20(var%20i%20in%20userPolymer)%20%7B%0APolymer%5Bi%5D%20%3D%20userPolymer%5Bi%5D%3B%0A%7D%0A%7D%0APolymer.Class%20%3D%20desugar%3B%0A%7D())%3B%0APolymer.telemetry%20%3D%20%7B%0Aregistrations%3A%20%5B%5D%2C%0A_regLog%3A%20function%20(prototype)%20%7B%0Aconsole.log('%5B'%20%2B%20prototype.is%20%2B%20'%5D%3A%20registered')%3B%0A%7D%2C%0A_registrate%3A%20function%20(prototype)%20%7B%0Athis.registrations.push(prototype)%3B%0APolymer.log%20%26%26%20this._regLog(prototype)%3B%0A%7D%2C%0AdumpRegistrations%3A%20function%20()%20%7B%0Athis.registrations.forEach(this._regLog)%3B%0A%7D%0A%7D%3B%0AObject.defineProperty(window%2C%20'currentImport'%2C%20%7B%0Aenumerable%3A%20true%2C%0Aconfigurable%3A%20true%2C%0Aget%3A%20function%20()%20%7B%0Areturn%20(document._currentScript%20%7C%7C%20document.currentScript).ownerDocument%3B%0A%7D%0A%7D)%3B%0APolymer.Base%20%3D%20%7B%0A_addFeature%3A%20function%20(feature)%20%7B%0Athis.extend(this%2C%20feature)%3B%0A%7D%2C%0AregisterCallback%3A%20function%20()%20%7B%0Athis._registerFeatures()%3B%0Athis._doBehavior('registered')%3B%0A%7D%2C%0AcreatedCallback%3A%20function%20()%20%7B%0APolymer.telemetry.instanceCount%2B%2B%3B%0Athis.root%20%3D%20this%3B%0Athis._doBehavior('created')%3B%0Athis._initFeatures()%3B%0A%7D%2C%0AattachedCallback%3A%20function%20()%20%7B%0Athis.isAttached%20%3D%20true%3B%0Athis._doBehavior('attached')%3B%0A%7D%2C%0AdetachedCallback%3A%20function%20()%20%7B%0Athis.isAttached%20%3D%20false%3B%0Athis._doBehavior('detached')%3B%0A%7D%2C%0AattributeChangedCallback%3A%20function%20(name)%20%7B%0Athis._setAttributeToProperty(this%2C%20name)%3B%0Athis._doBehavior('attributeChanged'%2C%20arguments)%3B%0A%7D%2C%0Aextend%3A%20function%20(prototype%2C%20api)%20%7B%0Aif%20(prototype%20%26%26%20api)%20%7B%0AObject.getOwnPropertyNames(api).forEach(function%20(n)%20%7B%0Athis.copyOwnProperty(n%2C%20api%2C%20prototype)%3B%0A%7D%2C%20this)%3B%0A%7D%0Areturn%20prototype%20%7C%7C%20api%3B%0A%7D%2C%0AcopyOwnProperty%3A%20function%20(name%2C%20source%2C%20target)%20%7B%0Avar%20pd%20%3D%20Object.getOwnPropertyDescriptor(source%2C%20name)%3B%0Aif%20(pd)%20%7B%0AObject.defineProperty(target%2C%20name%2C%20pd)%3B%0A%7D%0A%7D%2C%0A_log%3A%20console.log.apply.bind(console.log%2C%20console)%2C%0A_warn%3A%20console.warn.apply.bind(console.warn%2C%20console)%2C%0A_error%3A%20console.error.apply.bind(console.error%2C%20console)%2C%0A_logf%3A%20function%20()%20%7B%0Areturn%20this._logPrefix.concat(%5Bthis.is%5D).concat(Array.prototype.slice.call(arguments%2C%200))%3B%0A%7D%0A%7D%3B%0APolymer.Base._logPrefix%20%3D%20function%20()%20%7B%0Avar%20color%20%3D%20window.chrome%20%7C%7C%20%2Ffirefox%2Fi.test(navigator.userAgent)%3B%0Areturn%20color%20%3F%20%5B%0A'%25c%5B%25s%3A%3A%25s%5D%3A'%2C%0A'font-weight%3A%20bold%3B%20background-color%3A%23EEEE00%3B'%0A%5D%20%3A%20%5B'%5B%25s%3A%3A%25s%5D%3A'%5D%3B%0A%7D()%3B%0APolymer.Base.chainObject%20%3D%20function%20(object%2C%20inherited)%20%7B%0Aif%20(object%20%26%26%20inherited%20%26%26%20object%20!%3D%3D%20inherited)%20%7B%0Aif%20(!Object.__proto__)%20%7B%0Aobject%20%3D%20Polymer.Base.extend(Object.create(inherited)%2C%20object)%3B%0A%7D%0Aobject.__proto__%20%3D%20inherited%3B%0A%7D%0Areturn%20object%3B%0A%7D%3B%0APolymer.Base%20%3D%20Polymer.Base.chainObject(Polymer.Base%2C%20HTMLElement.prototype)%3B%0APolymer.telemetry.instanceCount%20%3D%200%3B%0A(function%20()%20%7B%0Avar%20modules%20%3D%20%7B%7D%3B%0Avar%20DomModule%20%3D%20function%20()%20%7B%0Areturn%20document.createElement('dom-module')%3B%0A%7D%3B%0ADomModule.prototype%20%3D%20Object.create(HTMLElement.prototype)%3B%0ADomModule.prototype.constructor%20%3D%20DomModule%3B%0ADomModule.prototype.createdCallback%20%3D%20function%20()%20%7B%0Avar%20id%20%3D%20this.id%20%7C%7C%20this.getAttribute('name')%20%7C%7C%20this.getAttribute('is')%3B%0Aif%20(id)%20%7B%0Athis.id%20%3D%20id%3B%0Amodules%5Bid%5D%20%3D%20this%3B%0A%7D%0A%7D%3B%0ADomModule.prototype.import%20%3D%20function%20(id%2C%20slctr)%20%7B%0Avar%20m%20%3D%20modules%5Bid%5D%3B%0Aif%20(!m)%20%7B%0AforceDocumentUpgrade()%3B%0Am%20%3D%20modules%5Bid%5D%3B%0A%7D%0Aif%20(m%20%26%26%20slctr)%20%7B%0Am%20%3D%20m.querySelector(slctr)%3B%0A%7D%0Areturn%20m%3B%0A%7D%3B%0Avar%20cePolyfill%20%3D%20window.CustomElements%20%26%26%20!CustomElements.useNative%3B%0Aif%20(cePolyfill)%20%7B%0Avar%20ready%20%3D%20CustomElements.ready%3B%0ACustomElements.ready%20%3D%20true%3B%0A%7D%0Adocument.registerElement('dom-module'%2C%20DomModule)%3B%0Aif%20(cePolyfill)%20%7B%0ACustomElements.ready%20%3D%20ready%3B%0A%7D%0Afunction%20forceDocumentUpgrade()%20%7B%0Aif%20(cePolyfill)%20%7B%0Avar%20script%20%3D%20document._currentScript%20%7C%7C%20document.currentScript%3B%0Aif%20(script)%20%7B%0ACustomElements.upgradeAll(script.ownerDocument)%3B%0A%7D%0A%7D%0A%7D%0A%7D())%3B%0APolymer.Base._addFeature(%7B%0A_prepIs%3A%20function%20()%20%7B%0Aif%20(!this.is)%20%7B%0Avar%20module%20%3D%20(document._currentScript%20%7C%7C%20document.currentScript).parentNode%3B%0Aif%20(module.localName%20%3D%3D%3D%20'dom-module')%20%7B%0Avar%20id%20%3D%20module.id%20%7C%7C%20module.getAttribute('name')%20%7C%7C%20module.getAttribute('is')%3B%0Athis.is%20%3D%20id%3B%0A%7D%0A%7D%0A%7D%0A%7D)%3B%0APolymer.Base._addFeature(%7B%0Abehaviors%3A%20%5B%5D%2C%0A_prepBehaviors%3A%20function%20()%20%7B%0Aif%20(this.behaviors.length)%20%7B%0Athis.behaviors%20%3D%20this._flattenBehaviorsList(this.behaviors)%3B%0A%7D%0Athis._prepAllBehaviors(this.behaviors)%3B%0A%7D%2C%0A_flattenBehaviorsList%3A%20function%20(behaviors)%20%7B%0Avar%20flat%20%3D%20%5B%5D%3B%0Abehaviors.forEach(function%20(b)%20%7B%0Aif%20(b%20instanceof%20Array)%20%7B%0Aflat%20%3D%20flat.concat(this._flattenBehaviorsList(b))%3B%0A%7D%20else%20if%20(b)%20%7B%0Aflat.push(b)%3B%0A%7D%20else%20%7B%0Athis._warn(this._logf('_flattenBehaviorsList'%2C%20'behavior%20is%20null%2C%20check%20for%20missing%20or%20404%20import'))%3B%0A%7D%0A%7D%2C%20this)%3B%0Areturn%20flat%3B%0A%7D%2C%0A_prepAllBehaviors%3A%20function%20(behaviors)%20%7B%0Afor%20(var%20i%20%3D%20behaviors.length%20-%201%3B%20i%20%3E%3D%200%3B%20i--)%20%7B%0Athis._mixinBehavior(behaviors%5Bi%5D)%3B%0A%7D%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20behaviors.length%3B%20i%20%3C%20l%3B%20i%2B%2B)%20%7B%0Athis._prepBehavior(behaviors%5Bi%5D)%3B%0A%7D%0Athis._prepBehavior(this)%3B%0A%7D%2C%0A_mixinBehavior%3A%20function%20(b)%20%7B%0AObject.getOwnPropertyNames(b).forEach(function%20(n)%20%7B%0Aswitch%20(n)%20%7B%0Acase%20'hostAttributes'%3A%0Acase%20'registered'%3A%0Acase%20'properties'%3A%0Acase%20'observers'%3A%0Acase%20'listeners'%3A%0Acase%20'created'%3A%0Acase%20'attached'%3A%0Acase%20'detached'%3A%0Acase%20'attributeChanged'%3A%0Acase%20'configure'%3A%0Acase%20'ready'%3A%0Abreak%3B%0Adefault%3A%0Aif%20(!this.hasOwnProperty(n))%20%7B%0Athis.copyOwnProperty(n%2C%20b%2C%20this)%3B%0A%7D%0Abreak%3B%0A%7D%0A%7D%2C%20this)%3B%0A%7D%2C%0A_doBehavior%3A%20function%20(name%2C%20args)%20%7B%0Athis.behaviors.forEach(function%20(b)%20%7B%0Athis._invokeBehavior(b%2C%20name%2C%20args)%3B%0A%7D%2C%20this)%3B%0Athis._invokeBehavior(this%2C%20name%2C%20args)%3B%0A%7D%2C%0A_invokeBehavior%3A%20function%20(b%2C%20name%2C%20args)%20%7B%0Avar%20fn%20%3D%20b%5Bname%5D%3B%0Aif%20(fn)%20%7B%0Afn.apply(this%2C%20args%20%7C%7C%20Polymer.nar)%3B%0A%7D%0A%7D%2C%0A_marshalBehaviors%3A%20function%20()%20%7B%0Athis.behaviors.forEach(function%20(b)%20%7B%0Athis._marshalBehavior(b)%3B%0A%7D%2C%20this)%3B%0Athis._marshalBehavior(this)%3B%0A%7D%0A%7D)%3B%0APolymer.Base._addFeature(%7B%0A_prepExtends%3A%20function%20()%20%7B%0Aif%20(this.extends)%20%7B%0Athis.__proto__%20%3D%20this._getExtendedPrototype(this.extends)%3B%0A%7D%0A%7D%2C%0A_getExtendedPrototype%3A%20function%20(tag)%20%7B%0Areturn%20this._getExtendedNativePrototype(tag)%3B%0A%7D%2C%0A_nativePrototypes%3A%20%7B%7D%2C%0A_getExtendedNativePrototype%3A%20function%20(tag)%20%7B%0Avar%20p%20%3D%20this._nativePrototypes%5Btag%5D%3B%0Aif%20(!p)%20%7B%0Avar%20np%20%3D%20this.getNativePrototype(tag)%3B%0Ap%20%3D%20this.extend(Object.create(np)%2C%20Polymer.Base)%3B%0Athis._nativePrototypes%5Btag%5D%20%3D%20p%3B%0A%7D%0Areturn%20p%3B%0A%7D%2C%0AgetNativePrototype%3A%20function%20(tag)%20%7B%0Areturn%20Object.getPrototypeOf(document.createElement(tag))%3B%0A%7D%0A%7D)%3B%0APolymer.Base._addFeature(%7B%0A_prepConstructor%3A%20function%20()%20%7B%0Athis._factoryArgs%20%3D%20this.extends%20%3F%20%5B%0Athis.extends%2C%0Athis.is%0A%5D%20%3A%20%5Bthis.is%5D%3B%0Avar%20ctor%20%3D%20function%20()%20%7B%0Areturn%20this._factory(arguments)%3B%0A%7D%3B%0Aif%20(this.hasOwnProperty('extends'))%20%7B%0Actor.extends%20%3D%20this.extends%3B%0A%7D%0AObject.defineProperty(this%2C%20'constructor'%2C%20%7B%0Avalue%3A%20ctor%2C%0Awritable%3A%20true%2C%0Aconfigurable%3A%20true%0A%7D)%3B%0Actor.prototype%20%3D%20this%3B%0A%7D%2C%0A_factory%3A%20function%20(args)%20%7B%0Avar%20elt%20%3D%20document.createElement.apply(document%2C%20this._factoryArgs)%3B%0Aif%20(this.factoryImpl)%20%7B%0Athis.factoryImpl.apply(elt%2C%20args)%3B%0A%7D%0Areturn%20elt%3B%0A%7D%0A%7D)%3B%0APolymer.nob%20%3D%20Object.create(null)%3B%0APolymer.Base._addFeature(%7B%0Aproperties%3A%20%7B%7D%2C%0AgetPropertyInfo%3A%20function%20(property)%20%7B%0Avar%20info%20%3D%20this._getPropertyInfo(property%2C%20this.properties)%3B%0Aif%20(!info)%20%7B%0Athis.behaviors.some(function%20(b)%20%7B%0Areturn%20info%20%3D%20this._getPropertyInfo(property%2C%20b.properties)%3B%0A%7D%2C%20this)%3B%0A%7D%0Areturn%20info%20%7C%7C%20Polymer.nob%3B%0A%7D%2C%0A_getPropertyInfo%3A%20function%20(property%2C%20properties)%20%7B%0Avar%20p%20%3D%20properties%20%26%26%20properties%5Bproperty%5D%3B%0Aif%20(typeof%20p%20%3D%3D%3D%20'function')%20%7B%0Ap%20%3D%20properties%5Bproperty%5D%20%3D%20%7B%20type%3A%20p%20%7D%3B%0A%7D%0Aif%20(p)%20%7B%0Ap.defined%20%3D%20true%3B%0A%7D%0Areturn%20p%3B%0A%7D%0A%7D)%3B%0APolymer.CaseMap%20%3D%20%7B%0A_caseMap%3A%20%7B%7D%2C%0AdashToCamelCase%3A%20function%20(dash)%20%7B%0Avar%20mapped%20%3D%20Polymer.CaseMap._caseMap%5Bdash%5D%3B%0Aif%20(mapped)%20%7B%0Areturn%20mapped%3B%0A%7D%0Aif%20(dash.indexOf('-')%20%3C%200)%20%7B%0Areturn%20Polymer.CaseMap._caseMap%5Bdash%5D%20%3D%20dash%3B%0A%7D%0Areturn%20Polymer.CaseMap._caseMap%5Bdash%5D%20%3D%20dash.replace(%2F-(%5Ba-z%5D)%2Fg%2C%20function%20(m)%20%7B%0Areturn%20m%5B1%5D.toUpperCase()%3B%0A%7D)%3B%0A%7D%2C%0AcamelToDashCase%3A%20function%20(camel)%20%7B%0Avar%20mapped%20%3D%20Polymer.CaseMap._caseMap%5Bcamel%5D%3B%0Aif%20(mapped)%20%7B%0Areturn%20mapped%3B%0A%7D%0Areturn%20Polymer.CaseMap._caseMap%5Bcamel%5D%20%3D%20camel.replace(%2F(%5Ba-z%5D%5BA-Z%5D)%2Fg%2C%20function%20(g)%20%7B%0Areturn%20g%5B0%5D%20%2B%20'-'%20%2B%20g%5B1%5D.toLowerCase()%3B%0A%7D)%3B%0A%7D%0A%7D%3B%0APolymer.Base._addFeature(%7B%0A_prepAttributes%3A%20function%20()%20%7B%0Athis._aggregatedAttributes%20%3D%20%7B%7D%3B%0A%7D%2C%0A_addHostAttributes%3A%20function%20(attributes)%20%7B%0Aif%20(attributes)%20%7B%0Athis.mixin(this._aggregatedAttributes%2C%20attributes)%3B%0A%7D%0A%7D%2C%0A_marshalHostAttributes%3A%20function%20()%20%7B%0Athis._applyAttributes(this%2C%20this._aggregatedAttributes)%3B%0A%7D%2C%0A_applyAttributes%3A%20function%20(node%2C%20attr%24)%20%7B%0Afor%20(var%20n%20in%20attr%24)%20%7B%0Aif%20(!this.hasAttribute(n)%20%26%26%20n%20!%3D%3D%20'class')%20%7B%0Athis.serializeValueToAttribute(attr%24%5Bn%5D%2C%20n%2C%20this)%3B%0A%7D%0A%7D%0A%7D%2C%0A_marshalAttributes%3A%20function%20()%20%7B%0Athis._takeAttributesToModel(this)%3B%0A%7D%2C%0A_takeAttributesToModel%3A%20function%20(model)%20%7B%0Afor%20(var%20i%20%3D%200%2C%20l%20%3D%20this.attributes.length%3B%20i%20%3C%20l%3B%20i%2B%2B)%20%7B%0Athis._setAttributeToProperty(model%2C%20this.attributes%5Bi%5D.name)%3B%0A%7D%0A%7D%2C%0A_setAttributeToProperty%3A%20function%20(model%2C%20attrName)%20%7B%0Aif%20(!this._serializing)%20%7B%0Avar%20propName%20%3D%20Polymer.CaseMap.dashToCamelCase(attrName)%3B%0Avar%20info%20%3D%20this.getPropertyInfo(propName)%3B%0Aif%20(info.defined%20%7C%7C%20this._propertyEffects%20%26%26%20this._propertyEffects%5BpropName%5D)%20%7B%0Avar%20val%20%3D%20this.getAttribute(attrName)%3B%0Amodel%5BpropName%5D%20%3D%20this.deserialize(val%2C%20info.type)%3B%0A%7D%0A%7D%0A%7D%2C%0A_serializing%3A%20false%2C%0AreflectPropertyToAttribute%3A%20function%20(name)%20%7B%0Athis._serializing%20%3D%20true%3B%0Athis.serializeValueToAttribute(this%5Bname%5D%2C%20Polymer.CaseMap.camelToDashCase(name))%3B%0Athis._serializing%20%3D%20false%3B%0A%7D%2C%0AserializeValueToAttribute%3A%20function%20(value%2C%20attribute%2C%20node)%20%7B%0Avar%20str%20%3D%20this.serialize(value)%3B%0A(node%20%7C%7C%20this)%5Bstr%20%3D%3D%3D%20undefined%20%3F%20'removeAttribute'%20%3A%20'setAttribute'%5D(attribute%2C%20str)%3B%0A%7D%2C%0Adeserialize%3A%20function%20(value%2C%20type)%20%7B%0Aswitch%20(type)%20%7B%0Acase%20Number%3A%0Avalue%20%3D%20Number(value)%3B%0Abreak%3B%0Acase%20Boolean%3A%0Avalue%20%3D%20value%20!%3D%3D%20null%3B%0Abreak%3B%0Acase%20Object%3A%0Atry%20%7B%0Avalue%20%3D%20JSON.parse(value)%3B%0A%7D%20catch%20(x)%20%7B%0A%7D%0Abreak%3B%0Acase%20Array%3A%0Atry%20%7B%0Avalue%20%3D%20JSON.parse(value)%3B%0A%7D%20catch%20(x)%20%7B%0Avalue%20%3D%20null%3B%0Aconsole.warn('Polymer%3A%3AAttributes%3A%20couldn%60t%20decode%20Array%20as%20JSON')%3B%0A%7D%0Abreak%3B%0Acase%20Date%3A%0Avalue%20%3D%20new%20Date(value)%3B%0Abreak%3B%0Acase%20String%3A%0Adefault%3A%0Abreak%3B%0A%7D%0Areturn%20value%3B%0A%7D%2C%0Aserialize%3A%20function%20(value)%20%7B%0Aswitch%20(typeof%20value)%20%7B%0Acase%20'boolean'%3A%0Areturn%20value%20%3F%20''%20%3A%20undefined%3B%0Acase%20'object'%3A%0Aif%20(value%20instanceof%20Date)%20%7B%0Areturn%20value%3B%0A%7D%20else%20if%20(value)%20%7B%0Atry%20%7B%0Areturn%20JSON.stringify(value)%3B%0A%7D%20catch%20(x)%20%7B%0Areturn%20''%3B%0A%7D%0A%7D%0Adefault%3A%0Areturn%20value%20!%3D%20null%20%3F%20value%20%3A%20undefined%3B%0A%7D%0A%7D%0A%7D)%3B%0APolymer.Base._addFeature(%7B%0A_setupDebouncers%3A%20function%20()%20%7B%0Athis._debouncers%20%3D%20%7B%7D%3B%0A%7D%2C%0Adebounce%3A%20function%20(jobName%2C%20callback%2C%20wait)%20%7B%0Athis._debouncers%5BjobName%5D%20%3D%20Polymer.Debounce.call(this%2C%20this._debouncers%5BjobName%5D%2C%20callback%2C%20wait)%3B%0A%7D%2C%0AisDebouncerActive%3A%20function%20(jobName)%20%7B%0Avar%20debouncer%20%3D%20this._debouncers%5BjobName%5D%3B%0Areturn%20debouncer%20%26%26%20debouncer.finish%3B%0A%7D%2C%0AflushDebouncer%3A%20function%20(jobName)%20%7B%0Avar%20debouncer%20%3D%20this._debouncers%5BjobName%5D%3B%0Aif%20(debouncer)%20%7B%0Adebouncer.complete()%3B%0A%7D%0A%7D%2C%0AcancelDebouncer%3A%20function%20(jobName)%20%7B%0Avar%20debouncer%20%3D%20this._debouncers%5BjobName%5D%3B%0Aif%20(debouncer)%20%7B%0Adebouncer.stop()%3B%0A%7D%0A%7D%0A%7D)%3B%0APolymer.version%20%3D%20'1.0.3'%3B%0APolymer.Base._addFeature(%7B%0A_registerFeatures%3A%20function%20()%20%7B%0Athis._prepIs()%3B%0Athis._prepAttributes()%3B%0Athis._prepBehaviors()%3B%0Athis._prepExtends()%3B%0Athis._prepConstructor()%3B%0A%7D%2C%0A_prepBehavior%3A%20function%20(b)%20%7B%0Athis._addHostAttributes(b.hostAttributes)%3B%0A%7D%2C%0A_marshalBehavior%3A%20function%20(b)%20%7B%0A%7D%2C%0A_initFeatures%3A%20function%20()%20%7B%0Athis._marshalHostAttributes()%3B%0Athis._setupDebouncers()%3B%0Athis._marshalBehaviors()%3B%0A%7D%0A%7D)%3B%0A%2F%2F%23%20sourceURL%3Dhttps%3A%2F%2Fzeplin.io%2Fcomponents%2Fpaper-elements%2Fpolymer%2Fpolymer-micro.html.js%0A
8 ms
zeplin.io accessibility score
Contrast
These are opportunities to improve the legibility of your content.
Impact
Issue
Background and foreground colors do not have a sufficient contrast ratio.
Best practices
These items highlight common accessibility best practices.
Impact
Issue
[user-scalable="no"] is used in the <meta name="viewport"> element or the [maximum-scale] attribute is less than 5.
zeplin.io best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Ensure CSP is effective against XSS attacks
General
Impact
Issue
Detected JavaScript libraries
Browser errors were logged to the console
zeplin.io SEO score
Mobile Friendly
Make sure your pages are mobile friendly so users don’t have to pinch or zoom in order to read the content pages. [Learn more](https://developers.google.com/search/mobile-sites/).
Impact
Issue
Document uses legible font sizes
EN
EN
UTF-8
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise Zeplin.io can be misinterpreted by Google and other search engines. Our service has detected that English is used on the page, and it matches the claimed language. Our system also found out that Zeplin.io main page’s claimed encoding is utf-8. Use of this encoding format is the best practice as the main page visitors from all over the world won’t have any issues with symbol transcription.
zeplin.io
Open Graph data is detected on the main page of Zeplin. This is the best way to make the web page social media friendly. Here is how it looks like on Facebook: