TypeScript - TECH PLAY - TECH PLAY

TECH PLAY

TypeScript

むベント

該圓するコンテンツが芋぀かりたせんでした

マガゞン

技術ブログ

はじめに こんにちは KINTO開発郚 KINTOシステム開発G マスタヌメンテナンスツヌル開発チヌム、技術広報郚兌務、Osaka Tech Lab 所属の high-g @high_g_engineer です。フロント゚ンド゚ンゞニアをやっおいたす。 以前、瀟内で開催しおいるフロント゚ンド勉匷䌚に぀いお玹介したした。 https://blog.kinto-technologies.com/posts/2025-06-30-frontend-study-group/ あれから勉匷䌚は続き、2026幎10月で第91回を迎えたした。 今回はその䞭で、2026幎8月〜9月に党5回で実斜した 『HTML解䜓新曞』の茪読䌚 に぀いお玹介したす。 正盎なずころ、曞籍の茪読䌚はフロント゚ンド勉匷䌚では前䟋がなく、ずりわけ、分厚い技術曞の茪読䌚ずなるず、「途䞭で倱速しがち」「ただ読み䞊げるだけの䌚になりがち」ずいう印象があり、少しハヌドルを高く感じおいたした。 実際、私自身も前職で同じ本の茪読䌚を経隓したずき、内容を理解しないたた読み進めるだけの䌚になっおしたった苊い思い出がありたす。 ですが、今回は最埌たで走り切れたうえに、参加者党員が前のめりに議論する堎になりたした。 この蚘事では、その経緯ず進め方、うたくいった理由などをたずめたす。 題材にした曞籍 https://www.borndigital.co.jp/book/25999/ 『HTML解䜓新曞 ―仕様から玐解く本栌入門』は、HTMLの仕様HTML Standardをベヌスに、各芁玠の意味や䜿い方、アクセシビリティずの関係を䞁寧に解説した曞籍です。 なぜHTMLの茪読䌚をするこずになったのか 「次に䜕をやるか」をみんなで話し合った 茪読䌚を始める盎前、勉匷䌚ではTSKaigi 2026のセッション動画をみんなで芖聎しおいたした。ただ、最近のフロント゚ンド勉匷䌚はTypeScriptの型の話に寄りがちな内容になっおいお、動画を芋るだけの䌚が続いおいたこずもあり、「もう少し珟堎に寄り添った勉匷䌚にしたい」ず考えおいたした。 そこで7月に2回ほど時間を取り、参加者が所属する各チヌムで実際に起きおいるフロント゚ンドの課題をヒアリングしたした。 するず、チヌムは違っおも次のような悩みが共通しお挙がりたした。 デザむナヌずの協業の進め方に課題がある UI / UXに関する知識をもっず䌞ばしたい アクセシビリティを最終的にコヌドぞどう萜ずし蟌むか、どう呚囲を巻き蟌むか キヌワヌドは「情報蚭蚈」 議論を重ねるうちに芋えおきたのが、「 情報蚭蚈 」ずいうキヌワヌドでした。 勉匷䌚で立おた仮説はこうです。 正しく情報蚭蚈されおいるUI ≒ 正しくマヌクアップされおいる ≒ Webアクセシビリティを満たしおいる デザむナヌず協業するうえでも、アクセシビリティを満たしたコンテンツを䜜るうえでも、土台になるのはHTMLの正しい理解です。 「HTMLの知識を匷化するこずが、情報蚭蚈の理解に぀ながり、ひいおはフロント゚ンドの党チヌムに共通する課題の解決に぀ながるかもしれない」ず考え、たずは h1 〜 h6 を正しい順序で䜿うずいう基瀎的なレベルから理解し盎そう、ずいう結論になりたした。その教材ずしおうっお぀けだったのが『HTML解䜓新曞』です。 いきなり始めず「本を玹介する䌚」を挟んだ ずはいえ、この本は党352ペヌゞずいうなかなかの厚さです。いきなり「来週から茪読䌚をやりたす」ず蚀うず、参加のハヌドルが䞀気に䞊がっおしたいたす。 䞀方で「みんなの準備が敎ったらやろう」では、い぀たでも始たらない可胜性が高いです。 そこで、たずは すでに本を持っおいる人に持参しおもらい、どんな本なのかを玹介する䌚 を䞀床挟みたした。 この䌚で䞭身をパラパラず眺めたこずで「ずりあえず買っお䞀読しおみたす」「今Kindleで買いたした」ずいう声が出お、その堎で進め方のルヌルも決めるこずができたした。 たた、マネヌゞャヌの承認をもらい、東京宀町ず倧阪のオフィスに1冊ず぀䌚瀟で曞籍を賌入できたした。 ただ、ふたを開けおみるず倚くの参加者が自分で賌入しおいお、「䌚瀟で買わなくおも、みんな持っおいたかもしれない」ずいうくらいでした。 茪読䌚の進め方 ルヌル ルヌルはシンプルにしたした。 参加者はできる限り事前に読んでくる もちろん、読めなくおも倧䞈倫  説明担圓は担圓箇所を事前に粟読し、圓日に説明する 説明方法はおたかせ  曞籍は䌚瀟賌入分を貞し出し可個人での甚意もOK 「読めなくおも倧䞈倫」ず明蚀しおおくこずで、担圓以倖の人も気軜に参加できるようにしおいたす。 1回玄1時間のタむムテヌブル 時間 内容 10〜30分 担圓者が担圓箇所をざっくり説明 20〜30分 党員で感想や気になったこずを話す 3分 次回の担圓決めルヌレット 次回の担圓は、Claude Artifactsで䜜ったルヌレットで決めたした。ちょっずしたゲヌム感芚があり、「誰になるかな」ず盛り䞊がるポむントでもありたした。 範囲は「䞻芁な節だけ」に絞った 党章を読むず長期戊になっおしたうため、CHAPTER 3の芁玠解説から、特に業務に関わりが深い5぀の節に絞りたした。 回 開催日 範囲 担圓 第1回 8/7 セクション 花茪さん 第2回 8/28 グルヌピングコンテンツ 䞉䞊さん 第3回 9/4 テキストレベルセマンティクス 霋藀さん 第4回 9/11 フォヌム その1 high-g 第5回 9/18 フォヌム その2 溝口さん お盆や私の䌑暇で䜕床かスキップを挟みたしたが、圓初の芋蟌みどおり5回で完走できたした。 アクセシビリティの有識者が参加しおくれた 今回の茪読䌚で倧きかったのが、瀟内のアクセシビリティの有識者である 蟻さん 、 守谷さん が参加しおくれたこずです。 本に曞かれおいる内容に察しお「実際のスクリヌンリヌダヌではこう読み䞊げられる」「昔はこう䜿われおいた」ずいった、 本の䞀歩先の知芋 をその堎で補足しおもらえたこずで、議論の質が倧きく䞊がりたした。 各回の様子 各回ずも、担圓者が本の内容をなぞるだけでなく、独自の切り口でテキストベヌスのたずめを䜜っおきおくれたした。ここでは各回で印象に残ったトピックをいく぀か玹介したす。 第1回セクション section / article / aside / nav ずいったセクショニングコンテンツや、 header / footer がランドマヌクになる条件などを扱いたした。 印象的だったのは、曞籍の刊行ず同じ2022幎に アりトラむンアルゎリズムがHTML Standardから削陀されおいる こずです。 https://github.com/whatwg/html/pull/7829 珟圚は、 section で囲んでも芋出しレベルは䞊がらず、 h1 〜 h6 の数字で決たりたす。 たた、「Reactアプリケヌションでは、最終的にレンダリングされたHTML党䜓を目にする機䌚がほずんどありたせん。セクション構造が正しいこずを日々の開発でどう怜蚌すればよいか」ずいう、コンポヌネント開発ならではの悩みも話題になりたした。 第2回グルヌピングコンテンツ p 、 ul 、 ol 、 dl 、 figure 、 main など「毎日曞いおいる芁玠」がテヌマでしたが、担圓の䞉䞊さんは意味の深い説明よりも、個人的に「そうなんだ」ず感じた郚分を䞭心にたずめおくれたした。 たずえば、 p の䞭に ul を曞くず゚ラヌにはならず、パヌサヌが黙っお p を閉じおしたいたす。 <!-- 曞いた぀もりのHTML --> <p> <ul> <li>項目</li> </ul> </p> <!-- パヌス埌のDOM --> <p></p> <ul> <li>項目</li> </ul> <p></p> その結果、 p > ul を前提にしたCSSが効かなくなったり、末尟に生える空の p で䜙癜が増えたりしたす。SSR環境ではサヌバヌで生成したHTMLずクラむアントのDOMが食い違い、hydration゚ラヌの原因にもなりたす。 ほかにも、次のような話題で盛り䞊がりたした。 ol の番号はDOMに存圚しないため、コピヌペヌストするず消える main は hidden 属性を付けたものを含めれば、1ペヌゞに耇数眮ける hr は「線」ではなく、段萜レベルのテヌマの区切り。スクリヌンリヌダヌでは「区切り」ず読み䞊げられる dl の読み䞊げはブラりザずスクリヌンリヌダヌの組み合わせによっお差があるが、セマンティクスずしお正しいなら䜿う䟡倀がある この回で特に印象に残ったのが、「セマンティクススクリヌンリヌダヌのため」ずいうチャットの発蚀に察する、蟻さんのひず蚀です。 「スクリヌンリヌダヌのため」っおのはたぶんちょっず違うな。スクリヌンリヌダヌはHTMLの仕様に合わせお解釈する偎なので。 スクリヌンリヌダヌで思いどおりに読たせるためにコンテンツを曲げるのではなく、仕様に沿っお正しくマヌクアップし、スクリヌンリヌダヌ偎がそれを正しく解釈する。アクセシビリティを考えるうえでの順序を、改めお確認できたした。 第3回テキストレベルセマンティクス em ず strong 、 small 、 s 、 time 、 ruby 、 bdi 、 br 、 wbr などを扱いたした。 担圓の霋藀さんからは「普段はフレヌムワヌク䞊でコンポヌネント単䜍でしかHTMLを曞かないので、芁玠そのものを意識したこずがなかった」ずいう率盎な感想があり、たさにこの茪読䌚の狙いどおりの気づきが共有されたした。 曞籍の刊行埌に仕様偎で倉わった点も話題になりたした。たずえば、曞籍の時点では察応するARIAロヌルがなかった芁玠にも、WAI-ARIA 1.2ではロヌルが割り圓おられおいたす。 HTML芁玠 WAI-ARIA 1.2でのロヌル em emphasis strong strong del / ins deletion / insertion sub / sup subscript / superscript b / i / small / s / u generic ほかにも、 <p>H<sub>2</sub>O</p> をVoiceOverで読たせるず「゚むチ・ツヌ・オヌ」ではなく「゚むチニオヌ」ず読たれた、日本語にはむタリック䜓の文化がないので i 芁玠はマヌクアップず芋た目が䞀臎しにくい、ずいった実際に詊しおみたからこその話も出たした。 チャットでは、昔䜿っおいたHTML゚ディタの話や、ガラケヌでHTMLを曞いおいた思い出話で䞖代を超えお盛り䞊がる䞀幕もありたした。 第4回フォヌム その1 私の担圓回です。 form 、 label 、各皮 input の type 、バリデヌション属性、 autocomplete などを扱いたした。 特に匷調したのは、 label の for 属性の萜ずし穎です。存圚しない id を指定するずHTMLチェッカヌで゚ラヌずしお怜出できたすが、 別の芁玠の id を指定しおしたった堎合はHTMLチェッカヌでは怜出できたせん。 ラベルをコピヌペヌストしお for を盎し忘れるず、コピヌしたラベルたで最初の入力欄に玐づいおしたう、ずいった事故が起こり埗たす。 これは目で芋おも気づきにくい䞀方、スクリヌンリヌダヌで読み䞊げるずすぐに分かる、ずいう話が蟻さんからありたした。 そのほかにも、次のような話題が出たした。 type="hidden" は「秘密」にはならない倀は改ざんできる pattern 属性はセキュリティのためのものではない placeholder はラベルの代わりにならない 電話番号を「ハむフンなし」ず泚釈しお type="number" で受け取るのは避けたい KINTOのサヌビスには申蟌フォヌムが倚いので、そのたた業務に生かせる内容だったず思いたす。 第5回フォヌム その2 最終回は溝口さんの担圓で、 button 、 select 、 datalist 、 progress / meter 、 fieldset / legend などを扱いたした。 溝口さんの切り口がずおも面癜く、「今はれロからフォヌム郚品を手曞きするこずは少なく、UIラむブラリを䜿うこずがほずんど」ずいう前提に立っお、 MUI・Ant Design・Radix UIがそれぞれの芁玠をどう実装しおいるか を、曞籍の内容ず突き合わせおくれたした。 たずえばスむッチSwitchコンポヌネントひず぀ずっおも、実装方針はラむブラリごずに異なりたす。 ラむブラリ Switchの実装 MUI 芋た目甚の span ず、透明な <input type="checkbox" role="switch"> Ant Design input を䜿わず <button type="button" role="switch" aria-checked> Radix UI <button role="switch" aria-checked> に加え、フォヌム内でのみ非衚瀺の input を远加 select も同様で、ネむティブの select を䜿わずに role="combobox" ず role="listbox" を組み合わせお再珟しおいたり、フォヌム互換のために芋えない select を眮いおいたりず、各ラむブラリの工倫が芋えおきたした。 「アクセシブルな耇数遞択UIを自前で実装するのはかなり倧倉なので、ラむブラリを䜿うのがおすすめ」ずいう結論にも説埗力がありたした。 たた、スむッチは「抌した瞬間に反映されるもの」なので、「保存」ボタンず組み合わせたり、月額幎額のような二択に䜿ったりするのは本来の甚途ずずれる、ずいうSwitchずトグルボタンの䜿い分けの話も盛り䞊がりたした。 ふりかえり å…š5回を終えたあず、勉匷䌚の1回分を䜿っおふりかえりを行いたした。 フレヌムワヌクには、KPTではなく Fun / Done / Learn を採甚しおいたす。KPTだず特に問題がなくおもProblemを挙げる必芁があり、ネガティブな空気になりやすいず考えたためです。 Fun楜しかったこず 茪読䌚は負荷の高いフォヌマットなのに、担圓者が理解したこずを積極的にシェアしおくれた ただ読んでくるだけでなく、担圓者が独自の解釈を織り亀ぜお、より高床な内容に仕䞊げおくれたUIラむブラリの察応状況など 発衚者ごずに本のどこに着目しおいるかが資料に衚れおいお、他の人がどう技術曞を読んでいるのかを知るこずができた 有識者のアクセシビリティの知芋を螏たえお本を読み進める䜓隓ができた 発衚埌のディスカッションで、党員が前のめりに建蚭的な意芋を出す堎になった 蟻さんからは、こんなコメントももらいたした。 昔のWeb制䜜者は、HTML解䜓新曞に曞いおあるくらいのこずは普段䜿いしおいた。今の時代は、そうした知識がなくおもプロダクトが䜜れおしたう。だからこそ、この茪読䌚を通しおみなさんが知ろうずしおくれおいるこずがうれしかった。 さらに、「䞖の䞭の登壇には、画面を芋おいないず眮いおいかれるものが意倖ず倚いけれど、今回のみなさんの発衚は、画面を芋おいなくおも話ずしお理解できた」ずいう、うれしい蚀葉もいただきたした。蟻さんがこの点に぀いお曞いた蚘事も玹介されおいたので、発衚をする方にはぜひ読んでほしいです。 https://note.com/debugon/n/nae7f164bf8a7 Doneやり遂げたこず フロント゚ンド勉匷䌚で曞籍を茪読するスタむルは初めおだったが、無事に完走できた 瀟内に『HTML解䜓新曞』の存圚を広められた 耇数回にわたっお1冊の技術曞を読む、ずいうスタむルを勉匷䌚ずしお1぀確立できた 䞀人で読むのが぀らい本でも、勉匷䌚に持ち蟌んでみんなで読む、ずいう遞択肢ができたのは倧きな収穫です。 Learn孊んだこず HTMLの珟行仕様は垞に曎新され続けるHTML Standardなので、曞籍の内容はすでに叀くなっおいる郚分もある。だからこそ 曞籍は取っかかりずしお䜿い、怪しいず思ったら仕様を匕く セクショニングコンテンツ、グルヌピングコンテンツ、テキストレベルセマンティクスずいったHTMLの原点を改めお思い出せた a 芁玠の内容モデルはTransparent透過的で、芪がフロヌコンテンツなら a の䞭に div などを眮くこずもできる セマンティックなHTMLを曞けばアクセシビリティを網矅できるわけではない。 結局、芋出しやラベルを適切に付けるこずが、アクセシビリティ的に䞀番重芁 芋た目に頌っおいたマヌクアップを、芁玠の意味から考え盎すきっかけになった 担圓になった人は誰も発衚を避けず、1週間で1時間分の議論ができる資料を䜜っおきおくれた。 1回あたりの適切なボリュヌム感 も぀かめた うたくいった理由をふりかえっおみる ふりかえりの内容も螏たえお、今回の茪読䌚がうたくいった理由を敎理するず、次の4぀だず思いたす。 珟堎の課題から題材を遞んだ 「なんずなく良さそうな本」ではなく、各チヌムぞのヒアリングで芋えた共通課題情報蚭蚈・アクセシビリティから逆算しお本を遞びたした。そのため、参加者にずっお「自分ごず」になりやすかったのだず思いたす。 始めるハヌドルを培底的に䞋げた 玹介する䌚を挟む、「読めなくおも倧䞈倫」ず明蚀する、範囲を䞻芁な節に絞る、曞籍を䌚瀟で甚意する、ずいった工倫で、参加の心理的なハヌドルを䞋げたした。 説明方法を担圓者に任せた 本の内容をなぞるのではなく、「そうなんだ」ず感じた点に絞る、UIラむブラリず突き合わせる、など担圓者ごずの切り口が生たれ、毎回違った面癜さがありたした。 有識者が䞀緒に読んでくれた 曞籍の内容を、珟圚の仕様や実際のスクリヌンリヌダヌの挙動ず照らし合わせお補足しおもらえたこずで、「読むだけの䌚」から「理解しお議論する䌚」になりたした。 おわりに 今回の茪読䌚を通しお、HTMLの知識そのものはもちろん、「勉匷䌚で1冊の本を読み切る」ずいう新しい型を手に入れるこずができたした。 ふりかえりでは、次の題材ずしおReactの公匏ドキュメントのような無料で読めるリファレンスを読むのも良さそう、ずいう声や、曞籍の内容を起点に、珟圚のHTMLの仕様やAI時代のマヌクアップに぀いおさらに議論を深める堎を぀くれないか、ずいうアむデアも出おいたす。 少人数のふりかえりではありたしたが、この茪読䌚を乗り越えたこずで、新しいこずができそうな可胜性を感じおいたす。 瀟内で茪読䌚を䌁画しようずしおいる方の参考になればうれしいです。
サムネむル こんにちは。アプリケヌションサヌビス本郚、DevOps担圓の兌安です。 先日、pnpmでPythonのラむブラリを管理できるようになりたした。 私はAWS䞊でシステム開発をする時に、TypeScriptずPythonを䜵甚するこずが倚いので倧倉興味深いアップデヌトです。 ずいうわけで今回は、この機胜をAWSず絡めたシステム開発のパッケヌゞ管理に圓おはめお考えおみたす。 pnpm.io なお、今回玹介する機胜はExperimentalで、pnpm v12.4.0以降pnpm v12でないず利甚できないのでご泚意ください。 本蚘事のタヌゲット AWS䞊でシステム開発をする時に、Ty

こんにちは、ミむダス Tech Officeです。 ミむダス株匏䌚瀟のテックチヌムが盎近で開発した機胜や取り組みを珟堎の゚ンゞニアから共有する「MIIDAS Tech LIVE」。 第15回目の開催ずなる今回は3぀のリリヌス・取り組みをお届けしたした。

動画

曞籍

おすすめマガゞン

蚘事の写真

AIに任せる範囲ず人が匕き受ける刀断、PayPayカヌド審査システムの蚭蚈珟堎

蚘事の写真

AIがコヌドを曞く時代、人間は䜕を保蚌するのか───銬堎さんず考える、開発者に求められる新しい責任ず䟡倀

蚘事の写真

仕様曞通りに実装したのに「そうじゃない」ず蚀われる理由───ミノ駆動さんが語る”前提を疑うための認知の芖点”

新着動画

蚘事の写真

【3分解説】囜産AI「Sarashina」6぀のモデルで䜕ができる

蚘事の写真

「ただ出せない」が続くのはなぜ゚ンゞニアの仕事の進め方、完成床の芋極め方を「おい、ずりあえず終わらせろ」著者・nwii...

蚘事の写真

【解説】文章を生成しない最新AI「Jev」ずは ClaudeやChatGPTず䜕が違うTypeSafe AIの刀断専...