* 仕様書

[REFS[

- [16] 
[CITE@en[Pointer Events]], [TIME[2024-03-26T13:31:45.000Z]], [TIME[2024-05-10T05:24:12.669Z]] <https://w3c.github.io/pointerevents/#the-touch-action-css-property>
- [15] 
[CITE@en[Compatibility Standard]], [TIME[2024-01-24T10:48:20.000Z]], [TIME[2024-05-10T05:23:58.679Z]] <https://compat.spec.whatwg.org/#touch-action>

]REFS]

* 歴史

[1] [CITE@en[Pointer Events]]
([TIME[2015-02-26 17:43:22 +09:00]] 版)
<https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html#h-the-touch-action-css-property>

** [CODE[pinch-zoom]]

[17] 
[CODE[pinch-zoom]] はなぜか [CITE[[[Compatibility Standard]]]]
で規定されています。 [SRC[>>15]]

[18] 
しかも [CITE[Pointer Events]] 仕様書内には注釈で [CITE[Compatibility Standard]]
への参照があります。 [SRC[>>16]]
それならそこで直接規定した方が自然なのに!

[19] 
[CODE[pinch-zoom]]
は[TIME[平成28(2016)年][2016]]時点で既に [[EdgeHTML]] が実装していました。
[SRC[>>5]]
同年中に [[Chrome]] も実装しました。 [SRC[>>21]]

[22] 
同じ[TIME[平成28(2016)年][2016]]に [CITE[Pointer Events]]
への機能追加が提案され、
[[EdgeHTML]]
に既に [CODE[pinch-zoom]] が実装されていることから、
これをそのまま標準化 [SRC[>>5]] する改訂案も提出されていました [SRC[>>20]]。 

[23] 
ところがこれは年末までに頓挫してしましました。 [SRC[>>5]]
[TIME[平成30(2018)年][2018]]には将来の版に追加する予定もされていないと述べられています。
[SRC[>>14]]

[24] 
その理由は [CITE[Pointer Events]] を開発する [[W3C PEWG]] 
の[[憲章]]外であるためとされます。 [SRC[>>14]]
しかし[[憲章]]外なら次の[[憲章]]改正のタイミングで拡張すればいいのですし、
重要度が高いならすぐにでも手続きを取るべきでしょう。
その予定がまだ立てられていないだけで、
将来の予定がないからといって今後なされないとは限らない、
というのが正確な読みではあるのですが、
今後もなされないだろうという悲観的な予測がどことなく読み取れます。
実際に[TIME[令和6(2024)年][2024]]時点でも未だその動きは無いまま止まっています。

[25] 
当時の議論 [SRC[>>5]] を読むと、提案から頓挫まで何があったのか完全には記述されていないものの、
いくらかそのニュアンスは受け取れるように感じられます。それは、
[CODE[pinch-zoom]] は[[憲章]]外であるから [CITE[Pointer Events]]
に追加するのは望ましくないという反対意見があったのだということです。
提案側はこのくらいは[[憲章]]の範疇に収まり得ると抵抗したものの、
関係する企業の政治的な交渉においてそれは認められなかったのだと予想されます。

[26] 
[[憲章]]の範疇にあるかないかで[[仕様書]]に入れる入れないが決まるのはなんとも官僚主義的で、
[[W3C]] の[[標準化団体]]としての硬直した組織体制が表れているようにも思われますが、
この件はそれだけではなさそうです。 [[W3C]] の[[標準化手続き]]において、
[[憲章]]の内外如何は[[特許ポリシー]]に関わる重要な問題です。
参加企業の[[知的財産]]部門はそれに基づき自社の保有する[[特許]]を [[W3C]]
の[[特許ポリシー]]に基づき開示、利用許諾するかなどを判断することになります。
[CITE[Pointer Events]] が他の [[DOM]] 関連仕様等と別の [[WG]]
に管掌されているのも、[[タッチ入力]]等の[[特許]]的にセンシティブな領域を扱うことが
1つの重要な要因となっています。[[スマートフォン]]関連企業等にとって、
この領域は経営戦略的に重要なのです。

[27] 
従って、現場の技術者が[[相互運用性]]のため[[標準化]]に供したいと考えるかどうかと無関係に、
その所属企業がそれを歓迎するかどうか、高度に[[政治的]]な取引が展開されることになります。
しかしその詳細が外部に開示されることはなく、我々部外者は限られた情報のかけらを拾い集めて邪推するしかありません。


[28] 
ではなぜ [CITE[Compatibility Standard]] で規定することでそれを回避できたのか、
ですが、当時の [[WHATWG]] は明確な[[特許ポリシー]]が設けられておらず、
各社の[[知的財産権]]部門の監視の枠外にあったと推察されます。
[[WHATWG]] はその元々の設立動機も含め、[[政治的]]に他の[[標準化団体]]に受け入れられない
[[Web標準]]規格の受け皿となってきました。
[CITE[Compatibility Standard]] もまさにそのような技術の寄せ集めの仕様書です。

;; [29] ただその [[WHATWG]] も紆余曲折を経て[TIME[平成29(2017)年][2017]]の改組などで、
厳格な[[特許ポリシー]]の元で明確な手続きを経て機能追加を受け取るスタイルに変化してきています。
今後 [[W3C]] で同じような問題が発生した際に [[WHATWG]] が受け皿をなり得るのか、
[[WHATWG]] で同じような問題が発生しないのか、は注視が必要でしょう。

[REFS[

-
[5] [CITE@en[Add explicit control over pinch-zoom to touch-action · Issue #29 · w3c/pointerevents]]
([TIME[2016-12-22 14:42:51 +09:00]])
<https://github.com/w3c/pointerevents/issues/29>
-
[20] [CITE@en[Add pinch-zoom token to touch-action by RByers · Pull Request #99 · w3c/pointerevents · GitHub]], [TIME[2024-05-10T05:29:13.000Z]] <https://github.com/w3c/pointerevents/pull/99>
-
[21] [CITE@en[Add 'pinch-zoom' support to touch-action '''['''41262638''']''' - Chromium]], [TIME[2024-05-10T05:29:40.000Z]] <https://issues.chromium.org/issues/41262638>
-
[14] 
[CITE@en[Add pinch-zoom token to touch-action property? · Issue #68 · whatwg/compat · GitHub]], [TIME[2024-05-10T05:20:11.000Z]] <https://github.com/whatwg/compat/issues/68>
-
[2] [CITE@en[Add touch-action pinch-zoom value (#70)]]
([[RByers]]著, [TIME[2016-12-21 03:36:32 +09:00]])
<https://github.com/whatwg/compat/commit/9a07026178248826e7f68bb8c07529d30527ac97>
-
[4] [CITE@en[Reference compat spec touch-action entry (#162)]]
([[RByers]]著, [TIME[2016-12-22 03:47:09 +09:00]])
<https://github.com/w3c/pointerevents/commit/488c3426ae21dbb8280c43bfd57e99581612d318>

]REFS]

** 

[3] [CITE@en[Touch Action Options  |  Web  |  Google Developers]]
([TIME[2016-12-22 00:36:08 +09:00]])
<https://developers.google.com/web/updates/2016/10/touch-action>



[6] [CITE@en[Making touch scrolling fast by default  |  Web  |  Google Developers]]
([TIME[2017-01-19 00:59:21 +09:00]])
<https://developers.google.com/web/updates/2017/01/scrolling-intervention>

[7] [CITE@en[Add notes about touch-action and direct/indirect manipulation and sty…]]
([[patrickhlauke]]著, [TIME[2017-03-13 05:59:02 +09:00]])
<https://github.com/w3c/pointerevents/commit/b025e8b6bc058cad57855d9ef03248f11d867a82>

[8] [CITE@en[Clarified the touch-action values for transformed elements]]
([[mustaqahmed]]著, [TIME[2017-04-27 03:45:34 +09:00]])
<https://github.com/w3c/pointerevents/commit/bbbc83d5ca22ade541896c9b363984e4f9d1a257>

[9] [CITE@en[Revert "Clarified the touch-action values for transformed elements" (#…]]
([[patrickhlauke]]著, [TIME[2017-04-27 04:06:06 +09:00]])
<https://github.com/w3c/pointerevents/commit/376147c64c131ce49385bfa239e947f74b43002f>

[10] [CITE@en[Clarified the touch-action values for transformed elements.]]
([[mustaqahmed]]著, [TIME[2017-04-27 04:17:46 +09:00]])
<https://github.com/w3c/pointerevents/commit/a3cfab7afdfa9252f9fec11bc912f542aeaaf62a>

[11] [CITE@en[Move single directional touch-action values to the extension spec (#238)]]
([[NavidZ]]著, [TIME[2018-04-04 07:58:49 +09:00]])
<https://github.com/w3c/pointerevents/commit/17647a38cf3dac4d200953417f27202de5f2febd>

[12] [CITE@en[Add direction-specific touch-action pan values by RByers · Pull Request #13 · w3c/pointerevents]]
([TIME[2018-05-09 12:12:30 +09:00]])
<https://github.com/w3c/pointerevents/pull/13>

[13] [CITE@en[Move single directional touch-action values to the extension spec by NavidZ · Pull Request #238 · w3c/pointerevents]]
([TIME[2018-05-09 12:12:36 +09:00]])
<https://github.com/w3c/pointerevents/pull/238>