<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>WebKit &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/webkit/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>Firefox 51・Chrome 56リリース、Safari 10.1発表、Windows 10 Creator&#8217;s UpdateのEdge、WebKitほか──2017年1月のブラウザ関連ニュース</title>
		<link>/myakura/22272/</link>
		<pubDate>Tue, 07 Feb 2017 03:04:00 +0000</pubDate>
		<dc:creator><![CDATA[矢倉 眞隆]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Edge]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[WebRTC]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">/?p=22272</guid>
		<description><![CDATA[連載： WEB標準化動向 (21)2017年1月は新年早々いろいろ動きがありました。Firefox 51とChrome 56のリリース、Safari 10.1発表、Windows 10 Creator’s Updateの...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/webstandards-news/" class="series-156" title="WEB標準化動向" data-wpel-link="internal">WEB標準化動向</a> (21)</div><p>2017年1月は新年早々いろいろ動きがありました。Firefox 51とChrome 56のリリース、Safari 10.1発表、Windows 10 Creator’s UpdateのEdge、WebKitにWebRTCとCredential Management API、Facebookとブラウザベンダー協力の話など、注目ニュースが満載です！</p>

<h2>Firefox 51リリース <span id="firefox51"></span></h2>

<p>1月24日に、Firefox 51がリリースされました。</p>

<ul>
<li><a href="https://blog.mozilla.org/blog/2017/01/24/gets-better-video-gaming-non-secure-web-warning/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Firefox Gets Better Video Gaming and Warns of Non-Secure Websites | The Mozilla Blog</a></li>
<li><a href="https://www.mozilla.jp/firefox/51.0/releasenotes/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Firefox 51.0 リリースノート</a></li>
</ul>

<p><a href="https://hacks.mozilla.org/2017/01/webgl-2-lands-in-firefox/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WebGL 2のサポート</a>や、<a href="https://blog.mozilla.org/security/2017/01/20/communicating-the-dangers-of-non-secure-http/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">非HTTPSなページ上のパスワードフォーム入力についてのUI改善</a>が目玉ですが、すでに知っているところだと思うので、地味なところをとりあげます。</p>

<ul>
<li><a href="https://developer.mozilla.org/ja/Firefox/Releases/51" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Firefox 51 for developers &#8211; Mozilla | MDN</a></li>
</ul>

<p><a href="https://drafts.csswg.org/css-pseudo/#placeholder-pseudo" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>::placeholder</code> 疑似要素</a>と <a href="https://drafts.csswg.org/selectors/#placeholder" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>:placeholder-shown</code> 擬似クラス</a>が実装されました。<code>input</code> 要素や<code>textarea</code> 要素の <code>placeholder</code> 属性で指定するプレースホルダ周りのスタイルを調整するためのものです。前者はプレースホルダのテキストを、後者はプレースホルダが表示されているときの要素（<code>input</code> など）を表します。</p>

<p>SVGでは、<a href="https://www.w3.org/TR/2016/CR-SVG2-20160915/linking.html#linkRefAttrs" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>xlink</code> 接頭辞なしの <code>href</code> 属性</a>がサポートされました。これまでSVG内で外部リソースを読み込んだりSVG内の要素を参照する際は、XLinkを使っていました。SVGがXMLのフォーマットというところに由来するのですが、名前空間の扱いの難やHTMLとの親和性などをふまえ、SVG 2.0で名前空間なしの属性が導入されました。</p>

<p>この名前空間なしの <code>href</code> 属性ですが、Internet ExplorerがSVGを初実装したIE9から使えます。SVGを実装するにあたって、検討段階だったSVG 2.0で取り入れたい機能の先行実装をさせたという話を以前SVG WGの人に聞いたことがあります。</p>

<p>SVGまわりでは、<code>tabindex</code> 属性や <code>data-</code> 属性に対応しました。使えなかったのに驚く方もいるかもしれませんが、これらはHTMLのグローバル属性だったので、SVGの要素では使えず、<code>dataset</code> プロパティなどのアクセサリーもなかったのでした。これらもSVG 2.0で導入されたものです。</p>

<h2>Chrome 56リリース <span id="chrome56"></span></h2>

<p>1月25日に、Chrome 56がリリースされました。</p>

<ul>
<li><a href="https://developers.google.com/web/updates/2017/01/nic56" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">New In Chrome 56  |  Web  |  Google Developers</a></li>
</ul>

<p>パフォーマンスの観点から、<a href="https://developers.google.com/web/updates/2017/01/scrolling-intervention" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">タッチイベントハンドラの <code>passive</code> オプションがデフォルトで <code>true</code> に</a>なりました。Android版Chromeでは多くの場合、スクロールがスムーズになるとのことです。</p>

<p>CSSでは、<code>position: sticky</code> が復活しました。むかーしむかし実装されていたのですが、パフォーマンスの観点から削除されていたのでした。<code>scroll</code> イベントを監視しなくてもよくなるので、パフォーマンス向上が期待できる機能です。</p>

<p>Web PaymentsのPayment Request APIに追加された　<a href="https://w3c.github.io/browser-payment-api/#canmakepayment-method" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>canMakePayment()</code>　メソッド</a>がサポートされました。このメソッド、昨年AppleがWebでのApple Payを発表した祭、<a href="https://lists.w3.org/Archives/Public/public-payments-wg/2016Jun/0013.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Paymentsにないものとして上げていたメソッド</a>のひとつです。Web PaymentsのアクティビティにもAppleが関わり、APIの差異を埋めているようなので、今後に期待ですね。</p>

<p>他にも、<a href="https://www.w3.org/TR/css3-background/#the-border-image-repeat" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>border-image-repeat: space</code></a>がサポートされています。これでようやく実装がそろった感じですね。</p>

<h2>Safari 10.1発表 <span id="safari101-announce"></span></h2>

<p>macOS Sierra 10.12.4のベータ版が開発者向けに公開され、Safariが10.1にアップデートすることがわかりました。昨年春にリリースされたSafari 9.1のように、WebKitがアップグレードされ、新しい機能が導入されます。</p>

<ul>
<li><a href="https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_1.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Safari 10.1</a></li>
</ul>

<p>APIの目玉はCustom Elementsでしょうか。Safari 10でもShadow DOMがサポートされたので、Web Componentsがまたさらに進みます。<br />
ほかにも、Fetch APIやIndexed DB API　2.0, Gamepad APIがサポートされます。Gamepad APIはすこし意外ですね…ブラウザでゲームパッドを使うようなゲームを提供する顧客がいるのでしょうか？</p>

<p>JavaScriptでは、ES2017仕様のAsync Functionsや <code>SharedArrayBuffer</code> に対応します。</p>

<p>HTMLでは、HTML 5のフォームバリデーション機能がついに実装されました。これまでもDOM上では検証していたのですが、invalidな際にフォームの送信をブロックするという挙動を実装していなかったのでした。</p>

<ul>
<li><a href="https://webkit.org/blog/7099/html-interactive-form-validation/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML Interactive Form Validation | WebKit</a></li>
</ul>

<p>CSSではGrid Layoutが有効になります。リリース時期を春とすると、FirefoxやChromeと同時期になります。いっきに使いどころが増えそうです。</p>

<h2>Windows 10 Creator&#8217;s UpdateのEdge <span id="edge-jan2017"></span></h2>

<p>Microsoftのブログが活発に更新され、Windows 10 Creator&#8217;s Updateで提供される各種機能の紹介がされています。<a href="https://html5experts.jp/myakura/21934/" data-wpel-link="internal">先月</a>から引き続きいくつか取り上げます。</p>

<ul>
<li><a href="https://blogs.windows.com/windowsexperience/2017/01/31/microsoft-edge-helps-organize-web/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Microsoft Edge helps you organize your web &#8211; Windows Experience BlogWindows Experience Blog</a></li>
</ul>

<p>このエントリでは、タブのサムネイルや一時退避といったブラウザのUIの機能（Operaみたいですね）や、EPUB、Payment Requset APIのサポートなど、EdgeHTML 15で目玉になる機能をまとめています。</p>

<ul>
<li><a href="https://blogs.windows.com/msedgedev/2017/01/31/introducing-webrtc-microsoft-edge/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Introducing WebRTC 1.0 and interoperable real-time communications in Microsoft Edge &#8211; Microsoft Edge Dev Blog</a></li>
</ul>

<p>WebRTC 1.0は互換性のため実装を始めたもので、あくまでORTCを推奨していくという立場のようです。コーデックもVP8をサポートしましたが、ソフトウェアでコードのため電力消費やCPUの使用はH.264よりも高いとのこと。</p>

<p>他にも、<a href="https://blogs.windows.com/msedgedev/2017/01/10/edge-csp-2/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Content Security Policy Level 2のサポート</a>、<a href="https://blogs.windows.com/windowsexperience/2017/01/27/announcing-windows-10-insider-preview-build-15019-pc/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">フルカラー絵文字のサポート</a>もあるようです。</p>

<h2>WebKitにWebRTCとCredential Management API <span id="webkit-webrtc-credmgmt"></span></h2>

<p>Safari 10.1もうれしいですが、次期メジャーバージョンでも嬉しい機能が入りそうです。</p>

<p>ひとつは、WebRTCです。1月19日に、Appleのエンジニアによって、WebKitにWebRTCのライブラリがチェックインされました。</p>

<ul>
<li><a href="https://trac.webkit.org/changeset/210942" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Changeset 210942 – WebKit — Source/ThirdParty/libwebrtc: [WebRTC] Upload libwebrtc code base ​</a></li>
</ul>

<p>WebRTCについては、<code>getUserMedia()</code> の実装が進んでいましたが、通信周りのAPIは特に進んでいませんでした。EdgeもEdgeHTMLでWebRTC (1.0)を実装しますが、ようやくといったところでしょうか。</p>

<p>コミットログを読むと、Chromeのソースコードをインポートして利用しており、Chromeとの互換性がなかなか期待できそうです。</p>

<p>もうひとつは、Credential Management APIです。1月24日に、AppleのエンジニアがWebKitにCredential Management APIを実装予定という旨のメールをメーリングリストに投稿しています。</p>

<ul>
<li><a href="https://lists.webkit.org/pipermail/webkit-dev/2017-January/028684.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">[webkit-dev] Implement Credential Management Level 1</a></li>
</ul>

<p>Credential Management APIはパスワードやソーシャルログインなど、ユーザーの認証情報を抽象化して扱うAPIで、ログイン周りの煩雑さを解消できます。現在はChromeでのみ使えますが、Safariでも使えるようになるとモバイルでのログイン周りがとても便利になりそうです。</p>

<p>次期iPhoneで顔認証が導入されるといった噂を目にしていまし、信憑性が高まった気もします。</p>

<h2>Facebookとブラウザベンダーの協力 <span id="facebook-browsers-caches"></span></h2>

<p>Facebookの開発者ブログに、ブラウザベンダーと協力してFacebookへのリクエストを省力化したという話が掲載されています。あわせて、Chrome、Mozillaの開発者ブログでも紹介されています。</p>

<ul>
<li><a href="https://code.facebook.com/posts/557147474482256" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">This browser tweak saved 60% of requests to Facebook | Engineering Blog | Facebook Code</a></li>
<li><a href="https://blog.chromium.org/2017/01/reload-reloaded-faster-and-leaner-page_26.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chromium Blog: Reload, reloaded: faster and leaner page reloads</a></li>
<li><a href="https://hacks.mozilla.org/2017/01/using-immutable-caching-to-speed-up-the-web/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Using Immutable Caching To Speed Up The Web ★ Mozilla Hacks – the Web developer blog</a></li>
</ul>

<p>Facebookは各種アセットを、ハッシュ付きURL＋長大なキャッシュ有効時間というキャッシュ戦略で運用しています。キャッシュの有効時間が長ければ、ブラウザは再読込の際に同じリソースをダウンロードする確率が低くなるので、ネットワークにやさしいです。</p>

<p>しかし、これまでのHTTPキャッシュでは、ダウンロードは防げても、リクエスト自体は起こってしまっていました。パフォーマンスの観点からもうれしくありません。Facebookが自身のアクセスを解析したところ、全体の60％がそういったリクエストだったそうです。更に調べると、他のブラウザが13％〜22％だったのに対し、Chromeだけは63％ととても高い数値を示していたとのこと。</p>

<p>これを解消しようとFacebookのエンジニアがChromeチームに働きかけ、挙動を変更。結果63％だったものが24％まで減少したとのこと。</p>

<p>Firefoxでは、Chromeと同様の挙動変更を行わない代わりに、<code>Cache-Control: immutable</code> という新しいヘッダの値を実装しました。このヘッダについては、Jxckさんが自身のブログにまとめているのでそちらをご覧ください。</p>

<ul>
<li><a href="https://blog.jxck.io/entries/2016-07-12/cache-control-immutable.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Cache-Control の Immutable 拡張によるリロード時のキャッシュ最適化 | blog.jxck.io</a></li>
</ul>
]]></content:encoded>
		
		<series:name><![CDATA[WEB標準化動向]]></series:name>
	</item>
		<item>
		<title>details要素がサポート追加となったFirefox 49リリース、Safari 10リリースやベンチマークのMotionMarkなど──2016年9月のブラウザ関連ニュース</title>
		<link>/myakura/21141/</link>
		<pubDate>Thu, 13 Oct 2016 23:58:18 +0000</pubDate>
		<dc:creator><![CDATA[矢倉 眞隆]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[MotionMark]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[details]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">/?p=21141</guid>
		<description><![CDATA[連載： WEB標準化動向 (17)2016年9月のブラウザ関連ニュースは、details要素がサポート追加となったFirefox 49や、Safari 10リリースとベンチマークのMotionMarkなどについて紹介しま...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/webstandards-news/" class="series-156" title="WEB標準化動向" data-wpel-link="internal">WEB標準化動向</a> (17)</div><p>2016年9月のブラウザ関連ニュースは、details要素がサポート追加となったFirefox 49や、Safari 10リリースとベンチマークのMotionMarkなどについて紹介します。</p>

<h2>Firefox 49リリース</h2>

<p>9月20日に、Firefox 49がリリースされました。</p>

<ul>
<li><a href="https://www.mozilla.jp/firefox/49.0/releasenotes/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Firefox 49.0 リリースノート</a></li>
</ul>

<p>今回はいつも以上にいろいろ追加されてる気がします。</p>

<p>HTML関連では、<a href="https://developer.mozilla.org/ja/docs/Web/HTML/Element/details" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>&lt;details&gt;</code> 要素</a>がサポートされました。トグルで表示・非表示を切り替えるウィジェットをJavaScriptなしに導入できます。</p>

<p>これ関連で面白いなと思ったのが、<a href="https://gist.github.com/ericclemmons/b146fe5da72ca1f706b2ef72a20ac39d" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 &lt;details&gt; in GitHub</a> です。参考情報としてエラーログなどを張りつける際にログを <code>&lt;details&gt;</code> で囲むことで、ページが長くなるのを防ぎます。</p>

<p>Qiitaでも対応したとのことなので、コード一式をとりあえず書いておくとかそんなときに使えそうですね。</p>

<ul>
<li><a href="http://blog.qiita.com/post/151329031329/detailssummarysupport" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">details,summary要素に対応し、投稿内で指定箇所を折りたためるようになりました &#8211; Qiita Blog</a></li>
</ul>

<p>DOMまわりでは、<code>before()</code>, <code>after()</code>, <code>replaceWith()</code>, <code>append()</code>, <code>prepend()</code> メソッドがサポートされました。jQueryで見たことがあるメソッド名が多いですが、それらとほぼ同様で、要素の追加・置き換えを行います。なお要素を削除する <code>remove()</code> については、Firefox 23からサポートされています。</p>

<p>CSSでは、Level 4の機能がいくつかサポートされました。</p>

<p><code>#rrggbbaa</code> 式の色表記がサポートされました。こちらは先日Blinkでも有効にされかけたのですが、WebViewの誤った実装との互換性をとるため<a href="https://bugs.chromium.org/p/chromium/issues/detail?id=618518" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">無効にされてしまいました</a>。</p>

<p><a href="https://drafts.csswg.org/css-backgrounds-4/#valdef-background-clip-text" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>background-clip: text</code></a> がサポートされました。背景画像でテキストをくり抜く表現が実現できます。もともとWebKitの独自拡張でしたが、広く使われてしまったこともあり、Backgrounds &amp; BordersモジュールLevel 4で定義されました。</p>

<p><a href="https://developer.mozilla.org/ja/docs/Web/CSS/background-position-x" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>background-position-x</code>/<code>-y</code></a>もサポートされました。<code>background-position</code> は水平方向・垂直方向の位置両方を指定しなければいけませんが、これらを使うと個別の方向ごとに位置を指定できます。もともと古いIEやWebKitでサポートされていたもので、こちらもBackgrounds &amp; BordersモジュールLevel 4で定義されました。</p>

<p>背景画像系ではほかにも、Level 3の <a href="https://developer.mozilla.org/ja/docs/Web/CSS/background-repeat" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>background-repeat</code></a>　の <code>round</code> と <code>space</code>がサポートされました。他のブラウザでは結構前からサポートされていたので、追いついたかたちです。</p>

<h3><code>-webkit-</code> サポートも追加</h3>

<p>もともと独自拡張だった機能のサポートがこのバージョンで行われたのには理由があります。Firefox 49では、<code>-webkit-</code> 接頭辞つきのCSSプロパティやAPIの一部をエイリアスとしてサポートしたからです。これによって、主にモバイル向けWebサイト・アプリの互換性が向上します。</p>

<ul>
<li><a href="https://www.mozilla.jp/blog/entry/10559/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Webkit を念頭に作成されたサイトで起きるブラウザ互換性問題に対する Firefox の対応 | Mozilla Japan ブログ</a></li>
</ul>

<p><code>-webkit-</code> の部分的サポートは突然始まったことではなく、日本や中国などの特定サイトに限定し行われていました。それが方針転換し、すべてのサイトに適用されるようになりました。</p>

<ul>
<li><a href="http://myakura.hatenablog.com/entry/2015/04/24/211849" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">FirefoxのCSS Unprefixing Service &#8211; fragmentary</a></li>
<li><a href="http://www.otsukare.info/2016/01/04/webkit-resolved-fixed" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Webkit! RESOLVED FIXED &#8211; otsukare</a></li>
</ul>

<p>標準化された機能と接頭辞つき実装には、標準化の過程でプロパティ名や値の取り扱いなどに違いが生まれます。こうした違いをどう埋めるかを明文化すべく、<a href="https://compat.spec.whatwg.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Compatibility Standard</a>という仕様も作られています。ただ、すべての接頭辞つき機能がここで記されるわけではなく、<a href="https://dom.spec.whatwg.org/#dom-element-webkitmatchesselector" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>webkitMatchesSelector()</code></a> などは標準仕様に取り込まれるかたちで定義されています。</p>

<h2>Safari 10リリースとベンチマークのMotionMark</h2>

<p>9月13日のiOS 10と9月20日のmacOS 10.12 Sierraリリースにともない、Safari 10がリリースされました。Sierraだけでなく、El Capitanにも提供されています。</p>

<ul>
<li><a href="https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Safari 10.0</a></li>
</ul>

<p>Safari 10の新機能については、<a href="https://html5experts.jp/myakura/19921/" data-wpel-link="internal">過去の記事</a>で取り上げているので、気になる方はそちらをご覧ください。</p>

<p>さて、9月21日に、WebKitからMotionMarkという、グラフィックス処理のパフォーマンスを計測するベンチマークが発表されました。</p>

<ul>
<li><a href="https://webkit.org/blog/6943/motionmark-a-new-graphics-benchmark/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">MotionMark: A New Graphics Benchmark | WebKit</a></li>
<li><a href="http://browserbench.org/MotionMark/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">MotionMark 1.0</a></li>
</ul>

<p>MotionMarkは、既存のグラフィクス関連ベンチマークが抱えていたいくつかの問題を解決するために用意したとのこと。計測対象がフレームレートではなく、フレームレートが閾値以下になったときのアニメーションの複雑さであることや、いろんなテストをいちシーンに詰め込まず、問題を切り分けやすくするといった工夫がされているようです。</p>

<div id="attachment_21230" style="width: 650px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2016/10/Screen-Shot-2016-09-30-at-20.23.47-640x429.png" alt="Safari 10でMotionMarkを実行した結果。スコアは145.15（±5.12％）" width="640" height="429" class="size-large wp-image-21230" srcset="/wp-content/uploads/2016/10/Screen-Shot-2016-09-30-at-20.23.47.png 640w, /wp-content/uploads/2016/10/Screen-Shot-2016-09-30-at-20.23.47-300x201.png 300w, /wp-content/uploads/2016/10/Screen-Shot-2016-09-30-at-20.23.47-207x139.png 207w" sizes="(max-width: 640px) 100vw, 640px" /><p class="wp-caption-text"><br />この記事を書いているマシン（2011年のMacBook Air、11インチモデル）上のSafari 10で実行してみた</p></div>
]]></content:encoded>
		
		<series:name><![CDATA[WEB標準化動向]]></series:name>
	</item>
		<item>
		<title>Edge Web Summit、Chrome 50、Firefox 46、WebKitなど─2016年4月のブラウザ関連ニュース振り返り</title>
		<link>/myakura/18864/</link>
		<pubDate>Tue, 10 May 2016 00:00:57 +0000</pubDate>
		<dc:creator><![CDATA[矢倉 眞隆]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Edge]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">/?p=18864</guid>
		<description><![CDATA[連載： WEB標準化動向 (12)2016年4月のブラウザニュースは、Edge Web Summit、Chrome 50リリース、Firefox 46リリース、WebKitの接頭辞ポリシー変更などについて紹介します。 E...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/webstandards-news/" class="series-156" title="WEB標準化動向" data-wpel-link="internal">WEB標準化動向</a> (12)</div><p>2016年4月のブラウザニュースは、Edge Web Summit、Chrome 50リリース、Firefox 46リリース、WebKitの接頭辞ポリシー変更などについて紹介します。</p>

<h2>Edge Web Summit開催</h2>

<p>4月4日に、Edge Web Summitが開催されました。Microsoftは前々日にBuildカンファレンスを行っていましたが、Edgeはこちらに集中した印象です。</p>

<ul>
<li><a href="https://channel9.msdn.com/Events/WebPlatformSummit/edgesummit2016" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Microsoft Edge Web Summit 2016 | Channel 9</a></li>
<li><a href="https://blogs.windows.com/msedgedev/2016/04/08/edge-summit-2016-on-channel-9/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Edge Web Summit 2016 recordings are now available on Channel 9 | Microsoft Edge Dev Blog</a></li>
</ul>

<p>新たに発表されたのは、レンダリングエンジンEdgeHTMLのイシュートラッカーです。</p>

<ul>
<li><a href="https://blogs.windows.com/msedgedev/2016/04/11/css-usage-platform-data/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">EdgeHTML issue tracker</a></li>
<li><a href="https://blogs.windows.com/msedgedev/2016/04/06/edgehtml-issue-tracker/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Introducing the Microsoft Edge Platform Issue Tracker | Microsoft Edge Dev Blog</a></li>
</ul>

<p>Internet Explorer時代にもMicrosoft Connectで公開フィードバックはできましたが、こちらはエンジンのEdgeHTMLに特化しており、開発者とのコミュニケーションを強く意識しているように感じられます。</p>

<p>他にも、Webで使われているCSSプロパティなどを集めたデータも公開されました。Chromeチームも<a href="https://www.chromestatus.com/metrics/css/popularity" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chrome Platform Status</a>で公開していますが、それと同等のものですね。</p>

<ul>
<li><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/usage/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Global CSS Property Usage</a></li>
<li><a href="https://blogs.windows.com/msedgedev/2016/04/11/css-usage-platform-data/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Introducing Global CSS Property Usage on Microsoft Edge Dev | Microsoft Edge Dev Blog</a></li>
</ul>

<p>「使われている」の定義にもこだわっているようで、ただCSSファイルを解析しているわけではなく、WebページにアクセスしDOMとCSSOMを構築したうえで調べているとのこと。</p>

<p>現在バグのため <code>padding</code> 利用率が0％になっていますが （CSSの <code>calc()</code> 解釈まわりにバグがあるそう）、そのうち直るでしょう。</p>

<p>また、WebRTC関連のロードマップが更新されたことも発表されました。</p>

<ul>
<li><a href="https://blogs.windows.com/msedgedev/2016/04/13/roadmap-update-for-real-time-communications-in-microsoft-edge/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Roadmap update for Real Time Communications in Microsoft Edge | Microsoft Edge Dev Blog</a></li>
</ul>

<p>これまでEdgeではORTCをサポートしていましたが、互換性への取り組みからWebRTC 1.0の一部も実装するようです。また、映像コーデックについてはH.264/AVCを実装中、さらに決定ではありませんがVP8も検討しているとのこと。</p>

<h2>Chrome 50リリース</h2>

<p>4月13日に、Chrome 50がリリースされました。ついに50なのですね。</p>

<ul>
<li><a href="https://chrome.googleblog.com/2016/04/chrome-50-releases-and-counting.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google Chrome Blog: Chrome: 50 releases and counting!</a></li>
</ul>

<p>新しい機能についてはBetaリリース時のポスト、およびDev Operaの記事が詳しいです。</p>

<ul>
<li><a href="http://googledevjp.blogspot.jp/2016/03/chrome-50.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google Developers Japan: Chrome 50 ベータ版: プッシュ通知の改良、宣言型プリロードなど</a></li>
<li><a href="https://dev.opera.com/blog/opera-37/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Dev.Opera — What’s new in Chromium 50 and Opera 37</a></li>
</ul>

<p>新しい機能として、HTMLの <code>link</code> 要素に <code>preload</code> というものが加わりました。使われるであろうリソースをその種類とともに指定することで、先読みを実施できます。</p>

<ul>
<li><a href="https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Preload: What Is It Good For? – Smashing Magazine</a></li>
<li><a href="https://developers.google.com/web/updates/2016/03/link-rel-preload" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Prioritizing Your Resources with  | Web Updates &#8211; Google Developers</a></li>
<li><a href="https://blog.jxck.io/entries/2016-03-04/preload.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Preload を用いたリソースプリローディングの最適化 | blog.jxck.io</a></li>
</ul>

<p>たとえばWebフォントのURLなどに使いやすそうです。外部CSSでWebフォントが定義されている場合、まずそのCSSファイルを取得し解釈したのち、Webフォントをリクエストするため、パフォーマンスの向上が見込めそうです。</p>

<p>他に目立つのは、Canvasの <code>toBlob()</code> メソッドと、 <code>ImageBitmap</code> インターフェースでしょうか。</p>

<ul>
<li><a href="https://developers.google.com/web/updates/2016/03/canvas-toblob-in-chrome-50" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Canvas toBlob() support added in Chrome 50 | Web Updates &#8211; Google Developers</a></li>
<li><a href="https://developers.google.com/web/updates/2016/03/createimagebitmap-in-chrome-50" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chrome Supports createImageBitmap() in Chrome 50 | Web Updates &#8211; Google Developers</a></li>
</ul>

<p><code>toBlob()</code> は <code>toDataURL()</code> の <code>Blob</code> 版です。一度文字列を経由せずに、バイナリデータを直接さわれるのが魅力でしょうか。</p>

<p><code>ImageBitmap</code> は、Canvasで画像を扱いやすくするAPIです。これまでは効率的に画像のデコードなどを行えませんでしたが、<code>createImageBitmap()</code> を使えば非同期に画像を容易できます。<code>drawImage()</code> のように描画を必要としないのも魅力的です。Workerにも提供されるので、画像の処理を別スレッドにもっていくのも容易です。</p>

<p>すでに他のブラウザでも一部実装されており、<code>toBlob()</code> はFirefox 19とIE10から、<code>ImageBitmap</code> はFirefox 42でサポートされています。</p>

<p>新しい機能が追加される一方で、削除・廃止予定の発表もあります。Chrome 50では、非HTTPS環境でGeolocation APIが利用不可に、同じく非HTTPS環境でAppCacheが廃止予定となりました。</p>

<ul>
<li><a href="https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Geolocation API removed from unsecured origins in Chrome 50</a></li>
<li><a href="https://developers.google.com/web/updates/2016/03/chrome-50-deprecations" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">API Deprecations and Removals in Chrome 50</a></li>
</ul>

<p>位置情報の取得をGeolocation APIのみに頼っているサイトはHTTPSへの移行が強く推奨されていますが、<a href="https://developers.google.com/maps/documentation/geolocation/intro" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google Maps Geolocation API</a>など別のサービスも紹介されています。</p>

<p>機能の削除や廃止については、<a href="https://groups.google.com/a/chromium.org/forum/#!forum/blink-dev" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">blink-devメーリングリスト</a>で都度アナウンスされるほか、Chrome Platform Statusで「<a href="https://www.chromestatus.com/features#deprecated" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">deprecated</a>」「<a href="https://www.chromestatus.com/features#removed" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">removed</a>」と検索すると、すでに変更されたものも含め一覧を見られます。</p>

<p>また、廃止予定の機能を仕様している場合はコンソールにその旨が出ますので、たまにはちゃんと読みましょう。</p>

<h2>Firefox 46リリース</h2>

<p>4月26日にFirefox 46がリリースされました。</p>

<p>ES2015 に導入された <code>RegExp</code> の <code>u</code> フラグがサポートされました。絵文字や「𠮷」といったBMP外の文字はES5時代のJavaScriptでは扱いづらかったのでうれしいですね。</p>

<p>これに伴い、<code>input</code> 要素の <code>pattern</code> 属性の解釈を <code>u</code> フラグと同等にする変更がHTML仕様に入り、そちらもあわせて実装されました。たしかにフォームのバリデーションは <code>u</code> フラグつきの方がやさしそうですね。</p>

<p>はてなの開発者向けブログでも取り上げられています。わかりやすいです。</p>

<ul>
<li><a href="http://developer.hatenastaff.com/entry/2016/04/28/172005" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTMLのpattern属性とJavaScript正規表現のunicodeオプション &#8211; Hatena Developer Blog</a></li>
</ul>

<p>また、JavaScriptでのUnicodeの扱いはOperaのMathias Bynesの記事によくまとまっています。彼の講演も面白いですよ。</p>

<ul>
<li><a href="https://mathiasbynens.be/notes/javascript-unicode" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">JavaScript has a Unicode problem · Mathias Bynens</a></li>
</ul>

<p>CSSでは、圏点を表示させる <code>text-emphasis</code> プロパティ群がサポートされました。小説などでは見る強調表現ですが、Webでも太字以外の強調が今後増えてくるのでしょうか。</p>

<p>他には、過去に紹介した <code>-webkit-</code> 接頭辞のプロパティサポートが有効になりました。日本のモバイル向けページなど、<code>-webkit-</code> 接頭辞に強く依存してるページの表示が向上すると思われます。</p>

<h2>WebKitが接頭辞のポリシーを変更し、他エンジンに追従</h2>

<p>4月26日に、WebKitがベンダー接頭辞に関するポリシーを変更すると発表しました。試験的な機能にベンダー接頭辞をつけることはせず、他エンジンのようにランタイムフラグを設けて試すようになります。</p>

<ul>
<li><a href="https://webkit.org/blog/6131/updating-our-prefixing-policy/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Updating Our Prefixing Policy | WebKit</a></li>
<li><a href="https://webkit.org/feature-policy/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Feature Policy | WebKit</a></li>
</ul>

<p>最近はツールの助けもあり、手で <code>-webkit-</code> などを書くことは少なくなっていると思いますが、すでに公開されたページではWebKitの接頭辞に依存したコードが残っていたりします。これをうけEdgeやFirefoxは互換性確保のためいくつかの機能をサポートしています。</p>

<p>接頭辞の廃止については、WebKitもしていきたいとのことですが、機能によりそうです。廃止が現実的でない機能については、<a href="https://compat.spec.whatwg.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Compat Standard</a>での定義など標準化によるサポートも必要でしょうか。</p>

<p><img src="/wp-content/uploads/2016/05/yakura-1.jpg" alt="" width="300" height="192" class="aligncenter size-full wp-image-18941" srcset="/wp-content/uploads/2016/05/yakura-1.jpg 500w, /wp-content/uploads/2016/05/yakura-1-300x192.jpg 300w, /wp-content/uploads/2016/05/yakura-1-207x132.jpg 207w" sizes="(max-width: 300px) 100vw, 300px" /></p>
]]></content:encoded>
		
		<series:name><![CDATA[WEB標準化動向]]></series:name>
	</item>
		<item>
		<title>【HTML5 Experts.jp】2015年12月のブラウザ関連ニュース振り返り</title>
		<link>/myakura/18263/</link>
		<pubDate>Tue, 09 Feb 2016 00:00:54 +0000</pubDate>
		<dc:creator><![CDATA[矢倉 眞隆]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Chakra]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Microsoft Edge]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">/?p=18263</guid>
		<description><![CDATA[連載： WEB標準化動向 (8)Chrome 47リリース 12月1日に、Chrome 47がリリースされました。 次期ECMAScript仕様の Array.prototype.includes() がサポートされまし...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/webstandards-news/" class="series-156" title="WEB標準化動向" data-wpel-link="internal">WEB標準化動向</a> (8)</div><h2>Chrome 47リリース</h2>

<p>12月1日に、Chrome 47がリリースされました。</p>

<p>次期ECMAScript仕様の <a href="https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/includes" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>Array.prototype.includes()</code></a> がサポートされました。これで <code>indexOf()</code> を使うハックから解消されますね。このメソッド、もともとは <code>has()</code> という名前で検討されていましたが、MooToolsで同名のメソッドが定義されてしまっていたため名前が変わったなんて経緯があります。</p>

<p>パフォーマンス関連では、 <code>requestIdleCallback()</code> というAPIがサポートされました。実行させたい処理のスケジューリングをよしなにしてほしい時に使うAPIです。そんな説明ではわからないと思うので、Google Developersのエントリや、エキスパートの川田さんがpixivのアドベントカレンダーで取り上げた詳細な記事をご覧ください。</p>

<ul>
<li><a href="https://developers.google.com/web/updates/2015/08/using-requestidlecallback" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Using requestIdleCallback | Web Updates &#8211; Google Developers</a></li>
<li><a href="http://inside.pixiv.net/entry/2015/12/24/182248" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">JSがブラウザを固めてつらいので、新しいAPI「requestIdleCallback」を使うことにした &#8211; pixiv inside</a></li>
</ul>

<p>DOMでは、<code>Event.timeStamp</code> の返す値が <code>DOMTimeStamp</code> から <code>DOMHighResTimeStamp</code> に変更されました。より細かい精度をもつ値を返すようになったのですが、<code>DOMTimeStamp</code> はUNIXのエポック時間を返すのに対し、<code>DOMHighResTimeStamp</code> はページヘのアクセスが起点になっていおり、互換性への懸念があります。</p>

<p>と思ったら、どうやら<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1231619" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Angularのアニメーション機能で衝突した</a>ようです。MozillaでもFirefox NightlyとDeveloper Editionで限定的に有効にしているのですが、対策を検討しています。</p>

<p>最後にUIの話を。選択範囲の描画方法が変わりました。これまでChromeはSafariと同じようにテキストの外側にも選択範囲が描画されていましたが、今後はテキストや画像などの周りだけが選択範囲として描画されます。パフォーマンスの向上や、モバイルで選択範囲をわかりやすくするねらいがあるようです。</p>

<div id="attachment_18266" style="width: 650px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2016/01/chrome_selection_gap_painting-640x240.png" alt="Chrome 46とChrome 47でページの一部を選択したスクリーンショット。" width="640" height="240" class="size-large wp-image-18266" srcset="/wp-content/uploads/2016/01/chrome_selection_gap_painting.png 640w, /wp-content/uploads/2016/01/chrome_selection_gap_painting-300x113.png 300w, /wp-content/uploads/2016/01/chrome_selection_gap_painting-207x78.png 207w" sizes="(max-width: 640px) 100vw, 640px" /><p class="wp-caption-text">Chromeの選択範囲。46（左）ではページの大部分に選択範囲が描画されているのに対し、47（右）ではテキストまわりのみになっている</p></div>

<h2>Firefox 43リリース</h2>

<p>12月15日に、Firefox 43がリリースされました。</p>

<p>このリリースで、Chromeに続いて<code>Array.prototype.includes()</code> がサポートされました。リリースサイクルを考えるとFirefoxのほうがたぶん早く実装してるんですが、リリースは同時期になっちゃいましたね（タイミングが合うと使い始めやすいかもですが）。</p>

<p>今回も開発者ツールを取り上げましょうか。</p>

<p><a href="https://developer.mozilla.org/ja/docs/Tools/Web_Console/Console_messages#Server" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Server Logging</a>というのが実装されました。サーバーから送られるメッセージをコンソールに出せるようです。仕組みとしては<a href="https://craig.is/writing/chrome-logger" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chrome Logger</a>というChrome拡張が使ってるプロトコルをFirefoxの開発者ツールに実装したようです。<a href="https://craig.is/writing/chrome-logger/techspecs" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">仕様</a>を見ると、独自のHTTPヘッダにBase64エンコードしたJSONを渡すというものだそうで。</p>

<p>スタイルパネルも便利になりました。スタイルを見るときに、別の宣言で上書きされていたりすることはしばしばです。どのスタイルで上書きされているかを調べるには、スタイルパネルを辿って調べるわけですが面倒です。そうしたものを簡単に見つける機能が追加されました。</p>

<div id="attachment_18271" style="width: 453px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2016/01/fxdevtools_style_filter_inheritance.png" alt="Firefox開発者ツールのスタイルパネル" width="443" height="305" class="size-full wp-image-18271" srcset="/wp-content/uploads/2016/01/fxdevtools_style_filter_inheritance.png 443w, /wp-content/uploads/2016/01/fxdevtools_style_filter_inheritance-300x207.png 300w, /wp-content/uploads/2016/01/fxdevtools_style_filter_inheritance-207x143.png 207w" sizes="(max-width: 443px) 100vw, 443px" /><p class="wp-caption-text">上書きされている宣言の横についている虫眼鏡アイコンをクリックすると、プロパティ名でフィルタをかけた状態になる</p></div>

<p>ほかにも、「Use in Console」なるコンテキストメニューがインスペクタパネルに追加されました。任意の要素の上で「Use in Console」を選択すると、それが <code>temp0</code> といった変数から参照できます。</p>

<p><img src="/wp-content/uploads/2016/01/fxdevtools_useinconsole.png" alt="Firefox開発者ツールのインスペクタパネルで、Use in Consoleを実行。コンソールが開き、選択した要素がtemp0という変数として使えるように。" width="452" height="353" class="aligncenter size-full wp-image-18273" srcset="/wp-content/uploads/2016/01/fxdevtools_useinconsole.png 452w, /wp-content/uploads/2016/01/fxdevtools_useinconsole-300x234.png 300w, /wp-content/uploads/2016/01/fxdevtools_useinconsole-207x162.png 207w" sizes="(max-width: 452px) 100vw, 452px" /></p>

<p>便利かどうかわかりませんが、<code>$0</code> よりも多少使いやすいでしょうか。</p>

<h2>EdgeのChakraがオープンソースに</h2>

<p>12月5日に開催されたJSConf US Last Callでの発表で、Microsoft EdgeやInternet Explorerで使われているJavaScriptエンジン、Chakraがオープンソースになることが発表されました。</p>

<ul>
<li><a href="https://blogs.windows.com/msedgedev/2015/12/05/open-source-chakra-core/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Microsoft Edge’s JavaScript engine to go open-source | Microsoft Edge Dev Blog</a></li>
</ul>

<p>ただ発表時点では公開されませんでした。オープンソース化する部分の整備を進めており、公開されるのは1月になるとのこと。</p>

<p>オープンソースになるのは、ChakraCoreと呼ばれるものです。ChakraCoreはこれまでのChakraから、WindowsアプリやEdgeなどと連携させるためのプライベートAPIを除いたものとのこと。1月のリリース時にはWindowsでしか使えないようですが、今後は汎用的なJavaScriptエンジンとして利用できるように整備していくとのことです。</p>

<p>MicrosoftはWindows 10 IoTでNodeを利用するために、<a href="https://github.com/Microsoft/node-v0.12" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ChakraにV8のshimをはさんで動かすNode</a>を開発するなどしています。現行メジャーブラウザのJavaScriptエンジンがすべてオープンソースになるなんて、すごい時代になりましたね。</p>

<h2>WebKitでタップ時の遅延が条件下で削除</h2>

<ul>
<li><a href="https://webkit.org/blog/5610/more-responsive-tapping-on-ios/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">More Responsive Tapping on iOS | WebKit</a></li>
</ul>

<p>モバイルブラウザで画面をタップしてから、反応までにすこし時間がかかると思った方はいるでしょうか。</p>

<p>それなりに知られている話だとは思いますが、これはダブルタップかシングルタップなのかを区別するために、シングルタップと認識するまでに意図的に遅延を入れているからです。ダブルタップでズームするという挙動があるため、ズームしたいのかタップなのかを区別するために入っているんですね。</p>

<p>この遅延、Chrome, Firefoxでは300ms、WebKitでは350msとなっています。</p>

<p>ただ、ChromeとFirefox、Edgeでは、特定の条件下でこの遅延を消せます。具体的には、viewportの指定が <code>width=device-width</code> や <code>user-scalable=no</code> と設定された、ズームを必要としないページについては、ダブルタップを区別しないでよいため、遅延がなくなります。</p>

<p>viewportによる遅延の削除は<a href="https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chrome 32</a>、<a href="https://www.fxsitecompat.com/ja/versions/30/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Firefox 30</a>から、そして<a href="http://stackoverflow.com/a/33293649/1954313" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Edgeは最初から</a>対応しているのですが、SafariとWebKitはまだ対応できていません。<a href="http://developer.telerik.com/featured/300-ms-click-delay-ios-8/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">iOS 8からはゆっくりタップした場合には遅延がない</a>ようになったらしいのですが、せっかちさんは救われません。</p>

<p>対応していないブラウザに対しては、<a href="https://github.com/ftlabs/fastclick" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">fastclick</a>などのライブラリが開発されています。ただこうしたものは遅延を消すためにタッチイベントを使っているため、タッチイベントを利用するライブラリやページと競合するなんてこともあります。</p>

<p>今回の変更で、他のブラウザと同様の挙動になりました。また、viewportをカスタマイズできないページへの対応として、CSSの <a href="https://developer.mozilla.org/ja/docs/Web/CSS/touch-action" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><code>touch-action</code>
プロパティ</a>も実装されました。クリッカブルな要素に <code>touch-action: manipulation</code> を指定すれば、その要素はダブルタップを考慮しなくなり、遅延がなくなります。</p>
]]></content:encoded>
		
		<series:name><![CDATA[WEB標準化動向]]></series:name>
	</item>
		<item>
		<title>【HTML5 Experts.jp】2015年10月のブラウザ関連ニュース</title>
		<link>/myakura/17525/</link>
		<pubDate>Wed, 25 Nov 2015 00:00:52 +0000</pubDate>
		<dc:creator><![CDATA[矢倉 眞隆]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[ES6]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">/?p=17525</guid>
		<description><![CDATA[連載： WEB標準化動向 (6)Safari 9.0リリース 10月1日にOS X 10.11 El Capitanがリリースされ、先月のiOS版に続きOS X版のSafariも9.0になりました。 Safari 9.0...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/webstandards-news/" class="series-156" title="WEB標準化動向" data-wpel-link="internal">WEB標準化動向</a> (6)</div><h2>Safari 9.0リリース</h2>

<p>10月1日にOS X 10.11 El Capitanがリリースされ、先月のiOS版に続きOS X版のSafariも9.0になりました。</p>

<p>Safari 9.0ではWeb Inspectorに力がはいったようで、UIの刷新ほか既存の機能もかなり強化されています。</p>

<ul>
<li><a href="https://www.webkit.org/blog/3574/web-inspector-interface-changes/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Inspector Interface Changes</a></li>
<li><a href="https://www.webkit.org/blog/3516/web-inspector-console-improvements/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Inspector Console Improvements</a></li>
<li><a href="https://www.webkit.org/blog/3961/styles-sidebar-refinements-in-web-inspector/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Styles Sidebar Refinements in Web Inspector</a></li>
<li><a href="https://www.webkit.org/blog/3846/type-profiling-and-code-coverage-profiling-for-javascript/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Type Profiling and Code Coverage Profiling for JavaScript</a></li>
<li><a href="https://www.webkit.org/blog/3996/introducing-the-rendering-frames-timeline/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Introducing the Rendering Frames Timeline</a></li>
</ul>

<p>いくつかの機能は他のブラウザに追いついたものですが、スタイルサイドバーのMatch StylesやJavaScriptの型プロファイルはユニークですね。</p>

<p>また、ES6実装状況についても簡単にまとめた記事が公開されています。</p>

<ul>
<li><a href="https://www.webkit.org/blog/4054/es6-in-webkit/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ES6 in WebKit</a></li>
</ul>

<p>ここ最近になりかなり実装が進んでいますが、Default parametersやArrow Functionsなどは次のメジャーバージョンになるようですね。</p>

<h2>Chrome 46リリース</h2>

<p>10月13日に<a href="http://googlechromereleases.blogspot.jp/2015/10/stable-channel-update.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chrome 46がリリースされました</a>。新しく追加された機能などは<a href="http://blog.chromium.org/2015/09/chrome-46-beta-flexible-animations-and.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chromium Blogのエントリ</a>…よりもChromiumベースなOperaのブログのほうが読みやすいです。</p>

<ul>
<li><a href="https://dev.opera.com/blog/opera-33/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Dev.Opera — Opera 33 released</a></li>
</ul>

<p><code>rel=preconnect</code> はCSSやスクリプトなどで他originのリソースを読み込む際にパフォーマンスを向上させられるかもしれません。詳しい説明や使い方は <code>preconnect</code> が定義されている <a href="https://w3c.github.io/resource-hints/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Resource Hints仕様</a>のEditorである<a href="https://www.igvita.com/2015/08/17/eliminating-roundtrips-with-preconnect/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Ilya Grigorikのエントリ</a>をお読みください。</p>

<h3>DevToolsのUI変更中</h3>

<p>そういえば、Chrome 45くらいからUIの変更を含め、DevToolsがいろいろ変わっています。こうした変更点について、Developer AdvocateのAddy Osmaniが行ったトークが公開されています。</p>

<ul>
<li><a href="https://www.youtube.com/watch?v=XpGa6IzmmQg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Addy Osmani &#8211; What’s New in Chrome DevTools &#8211; YouTube</a></li>
</ul>

<p>また、先月発売された<a href="http://gihyo.jp/magazine/wdpress/archive/2015/vol89" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WEB+DB PRESS 89号</a>でもエキスパートの<a href="https://html5experts.jp/ahomu/" data-wpel-link="internal">佐藤さん</a>と<a href="https://html5experts.jp/1000ch/" data-wpel-link="internal">泉水さん</a>によるChrome DevToolsの解説記事が掲載されています。すこし先の変更（Chrome 47 Canaryでの情報をもとに執筆）とのことで、現時点のChromeと若干違うかもしれませんが、大いに参考になりそうです。</p>

<h2>FirefoxがWebKit接頭辞つき機能のサポートを本格化</h2>

<p>FirefoxのNightlyで、WebKitの接頭辞つき機能がサポートされ始めました。<code>-webkit-linear-gradient</code>、<code>-webkit-radial-gradient</code>といったCSSのグラデーションを始め、<code>Element.webkitMatchesSelector()</code>メソッドなどDOM APIにの実装も行われています。</p>

<ul>
<li><a href="https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?changeset=a17eed123926" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">mozilla-inbound: pushlog ― Bug 1210575 &#8211; Add native support for parsing -webkit-linear-gradient &amp; -webkit-radial-gradient</a></li>
<li><a href="https://groups.google.com/forum/#!topic/mozilla.dev.platform/YXDTm13wZzI" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Intent to implement and ship: webkitMatchesSelector &#8211; Google Groups</a></li>
</ul>

<p>WebKit接頭辞なCSSのサポートですが、これまでは中国や日本の一部のサイトに限って有効にされていました。</p>

<ul>
<li><a href="http://myakura.hatenablog.com/entry/2015/04/24/211849" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">FirefoxのCSS Unprefixing Service &#8211; fragmentary</a></li>
</ul>

<p>ただ思った以上にWebKit接頭辞のみを仕様していることなどから、やむなく<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1177263" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">すべてのサイトで有効にするよう</a>です。</p>

<p>こうしたマッピングをベンダー独自にやってしまうことで、新たな互換性問題を生んでしまう可能性もあります。このためMozillaのCompatibility Teamが中心となり、互換性のためのドキュメント<a href="https://compat.spec.whatwg.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Compatibility Standard</a>の作業も始まっています。</p>

<p>また、<code>Element.webkitMatchesSelector()</code> についてはまとめやすさの都合からか、標準の <code>Element.matches()</code> エイリアスとして<a href="https://github.com/whatwg/dom/commit/9ac9c1548661a309c15168d71e6fb6af92d4d610" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">DOM仕様で定義されました</a>。ベンダー拡張だった機能の標準化はHTML、DOM、XMLHttpRequestなど多数の仕様で行われましたが、接頭辞つきの名前で仕様に定義されるのは、このメソッドが初めてかと思います。</p>

<p>なお、ベンダー接頭辞だけでなく、日本のWebが起こしている互換性の問題については、Compatibility TeamのKarl Dubostが以前に<a href="http://www.otsukare.info/2015/04/17/web-compatibility-japan" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">自身のブログに記しています</a>。彼は今月の<a href="http://www.mozilla.jp/events/devcon/2015/tokyo/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Firefox Developer Comference</a>でも登壇し、互換性の話をしました。とてもおもしろかったので、ビデオが公開されたらチェックしてくださいね。</p>
]]></content:encoded>
		
		<series:name><![CDATA[WEB標準化動向]]></series:name>
	</item>
	</channel>
</rss>
