クリスマスなので「骨折×アクセシビリティ」の話しながらビール飲むよ。
メリークルシミマス…!?デフエンジニアの会 Advent Calendar 2023、酔っ払いポエム担当のかざみんです。昨年はですね、『クリスマスイブなのでビールとチキンを片手 にWebアクセシビリティについて語るよ。』という記事を書かせていただいたのですが、今年は肩を脱臼骨折するスペシャルイベントに参加したので、現地参加した感想とかそういう感じでお送りしたいと思います。
ええと、なんでこんなことになったかというとですね、友人に会うのに、らんらんるんるんな気分でですね、電車に乗ろうとしていたわけですよ。で、乗ろうとしていたところでホームと電車の間のすきまに落っこちてしまいまして、車内に転がり込んだら肩が超絶痛くて「あっやべえ折れた」っていう。頭を打ってたら多分あそこで人生終わってたのですが、まだ生きているので今年もこんな記事が書けるわけです。神様ありがとう。
さて、アクセシビリティって誰のためのものでしたっけ。「障害者や高齢者のためだけのものではなくて一時的に何かしらの困難を抱えた人も含まれます」とか、そんな話を日ごろからえらそうにしている私ですが、まさかの事態すぎましたよね。明日からの仕事どうしよう。
「オフィス」という物理的なバリアの存在
折れたのは肩、歩けるんだから会社に行けると思うじゃないですか。
ところがですね、歩くだけで痛いんです。前屈みになるのも痛い、着替えも痛い、歯磨きも振動が響いて痛くて気の済むまではできない。あとドアの開け閉めも大変だし、コンビニでかったごはんも自分で開封できない。割りばしを割るのも響いて痛いなんて。
上半身の大けがは初体験なのですが、足の骨折よりも自分ひとりでできないことが多くてかなり不便です。
この問題に関しては、出社できるようになるまでフルリモートにしてもらうことであっさり解決しましたが、在宅勤務ができなければこの段階で詰んでいました。「在宅勤務ができる」ということ自体がアクセシブルなんだなーって実感しました。
マウスとスマホさえあれば仕事...できる?
仕事をするからにはやっぱりパソコン使いたいですね。マウスでカチカチすればメールくらいは普通に読めますし、スマホがあればメールやTeamsでのチャットも問題なく使えます。
お、怪我をしていないほうの腕でマウスもスマホも使えるなら大丈夫だよね、めでたしめでたし...?なわけあるか。
確かに「スクリーンキーボード」という機能を使えばマウスだけでもキーボード操作はできます。理論的には。
しかしマウスやスマホで指を酷使しすぎるとどうなるかは賢い皆さんならよくお分かりになるはず。だからこそエルゴノミクスマウスとかいろいろ種類が出てきているわけで、マウスだけに頼ろうものなら地獄をみます。
というわけで、マウス以外の入力インターフェースを投入します。その名は「マイク」。Teams会議でいつも使っているこのマイクを全面的に活用していくのが、片腕ワーカーの第一歩になります。
片腕ワーカーの救世主「音声入力」
最近はもはや当たり前のように使われるようになった音声入力。音声で文字を入力できるだけでなくアプリの操作もできるってこと、知ってますか。
Macの場合は、マイクのアイコンでおなじみの「音声入力」とはべつに、アクセシビリティ機能としての「音声コントロール」があります。「メールを開く」「完了をクリック」などのコマンドが用意されていてUI操作も可能です。(詳しくは「[Macで音声コントロールを使い始める」を参照)
Windowsでも同じような機能があり、音声入力は、Windows + Hキーの組み合わせで使うことができます。UIを操作したければ「Windows音声認識」があります。(手元のWindows 11(22H2)ではまだ日本語で試せないのですが、)「音声アクセス」はさらに使いやすくなっているようです。
残念ポイントとしては、OSの標準ツールは辞書登録機能がしょぼい点が挙げられます。社内の用語や略語がうまく変換されず、絶妙な誤変換が起きます。「小川さん」が「お母さん」になって「その件についてはお母さんに確認を」なんて、笑ってはいけないオフィス24時間耐久レース、笑いすぎて肩まで痛くなり仕事どころではありません。
内容によっては結局手でごりごり修正を入れることになってしまい、だったら最初っから自分でタイプしたほうが早いやんか~!と思ったら、あ、自分怪我しててタイピングもまともにできないんだった...というオチが発生するのが片腕縛りプレイのつらいところです。
ショートカットキーは「固定キー」で攻略
もう一つ、なくてはならない「複合キー」機能です(Windowsでは「固定キー」という名称)。この機能を知らないとExcelは使いものになりません。Alt, Shift, Ctrlといった修飾キーを頻繁に使いますからね。
MacもWindowsも使い方は基本的に一緒です。おなじみの「ペースト」はCtrl + Vですよね。同時に押す代わりにCtrl、Vを順番に押していくだけです。
使い方はとてもシンプルなのですが、Ctrl +V であれば最後にVキーを押したタイミング、Ctrl + Shift + S なら Sキーを押したタイミングでロックが解除されるというのが曲者なんですね。どのキーをロックしたか途中で分からなくなって、急に新しいウィンドウが飛び出てきたりします。
Excelが…俺の知ってるExcelじゃない…
ここまで試してみて、気づいたことがあります。それは、もともと障害があって普段からアクセシビリティ機能を使いこなしている人と、昨日今日いきなり肩がぶっこわれた人とで違う部分はここにあるんだ!と。
今までだとキーボードでショートカット同時押しで無意識に終わっていたタスクをこなすだけでも、「コントロール、シー、コピー、コントロール、シー、ヴイ…ペースト、コントロール、シフト、エス……セーブ…」と呪文をブツブツ唱えないと終わらなくなり、仕事のリズムが狂っていく。
日ごろの自分なりの操作のリズムとは全然違うユーザー体験になるんですね。聞こえない世界に生まれた私にとって、音が聞こえないという状態は日常的なこと。特別なことではなくて当たり前のことなんですよ。
今までの自分と、ある日を境にして何かができなくなる自分っていうのは、当たり前っちゃ当たり前の話なんですけど、全然違うんだということを、Excelとにらめっこしながら気づかされたのです。
そんなわけで、日頃ショートカットキーを使いまくるExcelへの好感度はがた落ち。君と付き合うのはもう無理だ、ごめんな、と別れの話を切り出そうとしたところで、みんな大好きVBAさんやPythonさんの登場です。
AIにコードを書かせてみよう
ところがですよ、コーディングって(丸カッコ)や{波カッコ}で Shift キーとか使いまくるじゃないですか。セキュリティガチガチな会社貸与のパソコンでは自分好みのにカスタマイズすることもできず、我慢してるうちに、だんだんまたお前か!んもう!ってプンスコしてきて。
ある日、私は思った、Copilot Voiceの出番だと。「コードをキーボードなしで書けます」、おおお素晴らしい!これ、これだぁーー、私が求めていたやつは!
しかしですね、私は英語の音声入力とか無理ゲーでして(スンッ)。
そこでChatGPTを使うソリューションを採用することにしました。普段のように直にコードを書くのではなくて、「どういうふうに作りたいのか」を日本語で説明して、ChatGPTにコードを書かせよう、と。
たとえばサンタ業務の手伝いをしているとプレゼントの配送リストが必要になりますよね。そこで、こんな感じの入力をChatGPTに与えてみます。(GPT3.5を利用)
するとこんなコードが一瞬で返ってきます。すごい!
Sub 統合する()
Dim folderPath As String
Dim mergedSheet As Worksheet
Dim wb As Workbook
Dim ws As Worksheet
Dim fileName As String
' フォルダーのパスを指定
folderPath = "C:\Your\Folder\Path\"
' 新しいワークブックを作成
Set wb = Workbooks.Add
' 統合するワークシートを指定
Set mergedSheet = wb.Sheets(1)
' フォルダー内の各ファイルに対して処理を実行
fileName = Dir(folderPath & "*.xls*")
Do While fileName <> ""
' ファイルを開く
Set ws = Workbooks.Open(folderPath & fileName).Sheets(1)
' データを統合する
ws.UsedRange.Copy mergedSheet.Cells(mergedSheet.Rows.Count, 1).End(xlUp).Offset(1, 0)
' ファイルを閉じる
Workbooks(fileName).Close SaveChanges:=False
' 次のファイルへ移動
fileName = Dir
Loop
' 新しいワークブックを保存
wb.SaveAs folderPath & "統合結果.xlsx"
' 新しいワークブックを閉じる
wb.Close SaveChanges:=False
MsgBox "統合が完了しました。"
End Sub
これなら片腕でもコードが書けますね。ハッピー!
結論はやっぱり「自動化しよーぜ」だった
肩を脱臼骨折してみての結論は「自動化できるものは自動化してラクしよう」というありきたりの話になってしまうわけですが、出てきたコードをそのままコピペで使えれば良いけれども、実際はなかなかそうはいかないものですよね。
上のコードであれば、エラー処理が必要なんじゃないかとか、そもそもVBAではなくてPowerQueryを使ったほうが良いのではないか、など実際の業務に適応する前に考えなきゃいけないことがまだ残っているはずなのです。
AIが出してくる最適な答えと人間がすでに作り上げた仕組みの間のギャップに気づいて「何か足りないのでは?」と仮説を立て、「ちょっとエラー処理を追加してみてよ」というふうに、AIとの対話をひろげていくことができるチカラ、というものが今後求められているのかもしれません。
そしてですね、「生成系AIがなんかやばいんだよね」という話をですね、今回の怪我を経験するまでは、何か新しいものに乗っかっている気分で眺めていたところが、自分の中には少しあって、今回AIのパワーを切実に必要としてみて、使ってみたら少し見え方が変わってきたかなと。
まだ世の中の空気としては、AIのせいで仕事を奪われるかもしれないとか、失業する人がいるかもしれないとか、「なんとなく不安」という段階だけれども、私たちのように障害を持っている人の、働いたり学んだりする将来の可能性というものが拡がる気がしていて。
少なくとも片手一本使えなくなったとしても、仕事や学業を諦める必要はなくて、続けたいと思うなら続けられるような創意工夫がAIのチカラを借りればできるんじゃないかと。そう思えるような世の中を作りたいなって思えたのが、今年という一年がくれたプレゼントなのかなって思います。
というわけで!2023年のクリスマスは、肩を脱臼骨折するスペシャルイベントの現地参加レポをお送りしました。まず大前提としては「オフィス」という物理バリアを取り除くこと、そして基本的な仕事は、音声入力、音声での画面操作、複合キー機能、このへんを最低限おさえればどうにか仕事ができます。ChatGPTを使えばコーディングもできるし、マジで痛面白いイベントでした。
最後に……、年末年始は飲み会の帰りに転んで怪我をしてしまう人が増える季節です。怪我をしないようにお気をつけてお過ごしくださいね。メリークリスマス!