パンくずリストの構造化

先日、当サイトにもパンくずリストを設置しました(記事タイトル下の公開日下に設置)。リストでマークアップして、個々をフロートさせればパンくずリストは設置できるのですが、パンくずリストには構造化マークアップと言うものがあるんです。

Googleで検索すると以下のようにURL部分がパンくずリストになっているサイトを見ることがあると思います。

Googleの検索結果

googleがパンくず部分を読み取って表示してくれる場合もあるようなのですがHTMLマークアップで「ここがパンくずです」とGoogleに教えることで、このような表示になることがあるようです。

microdataでパンくずリストの構造化

microdataという記述を使ってパンくずリストを構造化します。
以下のようにマークアップされたパンくずリストがあるとします。

上記マークアップを構造化します。

1.パンくずリストを囲む

「itemscope」と「itemtype」を指定してパンくずリスト全体を囲みます。itemtypeには「http://data-vocabulary.org/Breadcrumb」を設定。これで囲まれたエリアがパンくずリストであることを示します。

2.aタグにitempropを記述

aタグには「itemprop=”url”」を追加します。

3.各項目にitemprop=”title”を追加

パンくずリストの各項目ごとに「itemprop=”title”」を追加。spanでマークアップします。

以上でパンくずリストが構造化されました。
最後にgoogleのテストツールでマークアップに間違えがないか確認します。
Google Testing Tool

Google Testing Toolでの検証結果

エラーは検出されませんでした。

※パンくずリストの構造化をやったからと言ってGoogleの検索結果のURL部分が必ずパンくず表示になるわけではないようです。

Googleのパンくずリストに関するページ

[tmkm-amazon asin=’4844330918′][/tmkm-amazon]

高いけど満足の中敷き「スーパーフィート トリムフィット グリーン」

革靴が必要な生活をほとんどしていないので、革靴は数足しか持っていないのですが、ちょっとドレスアップしなければいけない用事ができてしまい、どうせ買うならちょっといい靴にしようと思い新しい革靴を買いました。

試履したときはなんともなかったのですが、いざ外で履いてみるとくるぶしと靴があたってしまい、くるぶしから流血。こりゃ、中敷きで底上げしなければ履けないと思い中敷き探しが始まれりました。どうせめったに買うものじゃないし、靴も自分としてはいいものを買ったつもりなので、中敷きもそれなりのものを探していました。

そうして買ったのが、こちら

スーパーフィート トリムフィット グリーン

スーパーフィート トリムフィット グリーン外箱

スーパーフィート トリムフィット グリーンかかと部分

スーパーフィート トリムフィット グリーン全体

スーパーフィート トリムフィット グリーン裏側

スーパーフィート トリムフィット グリーン横から

画像を一気に載せましたが、ただの平べったい中敷きとは別物です。かかとには包まれている感覚が、足の裏の土踏まずにもフィットします。この中敷きを入れると靴がワンランク上がったような気がしました。
もちろん、くるぶしからも血が出ません。

正直、価格は高いと思うのですが、足の負担が減るのならいい買い物だと思います。

[tmkm-amazon asin=’B0084MIXCI’][/tmkm-amazon]

keypressはブラウザによって反応するキーが違う

今回もアクセシビリティ対応で判明したのですが、jQueryのkeypressメソッドの判定がブラウザによって違うことがわかりました。

今回、アクセシビリティの改修を行うために調査したサイトで、よく見るフォントサイズを切り替えるボタンをjQueryのkeypressで実装していました。ところがこの動きがあまりよろしくなかったんです。

以下がそのサンプルです。(jQuery部分)

 サンプルを別ウィンドウで見る

上記サンプルの場合、font_s(小)、font_m(中)、font_l(大)のボタンの上で何かキーを押されると反応してフォントサイズが変わります。キーが特定されていないことですでにアクセシビリティに対応していないのですが、問題はFirefoxで起こりました。
キーボードのみで操作する場合、リンクの移動はTabキーで行いますが、FirefoxはこのTabキーの操作をkeypressで拾ってしまうんです。
例えば小ボタンにいるときにTabキーを押すとボタンは中に移動するが、サイトのフォントは小に切り替わってしまいます。IEやChromeではこの現象を確認できなかったので、現象はmozilla系のブラウザで起こるのではないかと考えています。

この現象をサンプルコードで解消するにはkeypressが反応するキーを限定する必要があります。例えばEnterキーのみに反応するようにするには以下のようにします。

 

すみません、もっとシンプルなコードがあると思うんですが…。
13はEnterキーのキーコードです。ifでこのキーコードを受け取った時だけフォントサイズを切り替えています。

IE、Chrome、Firefoxでいろいろとキーを押してみたのですが、ブラウザによって反応が違います。文字と関係ないキー、Fn(ファンクション)やCtrlなどの制御キーは反応が異なるので注意が必要ですね。と言うかフォントサイズを切り替えるのにkeypressを使うな! ってことでしょうか。

[tmkm-amazon asin=’486354149X’][/tmkm-amazon]

さくらのVPSのOpenSSLを1.0.1mにアップデート

最近なにかと脆弱性が報告されるOpenSSL。私が使用しているサーバー“さくらのVPS”に入れているOpenSSLのバージョンがいくつなのか調べてみたところなんと1.0.1eだった。

SSLはほとんど利用していないが、これはちょっと低すぎるだろうと言うことで1.0.1系の最新版1.0.1mをインストールしました。

OSはCentOS6.6の64bitです。

make以降は新バージョンの適用作業。lnコマンドでシンボリックリンクをはっています。
最後に新バージョンが適用されたかを確認します。

ほとんど利用していないなら止めろ!と言われそうですが、一部地味に使ってるんですよ。

参考サイト
事前予告されていた OpenSSL のアップデートが公開されたので OpenSSL 1.0.2a を入れた件(WWW Watch)

追記
2015.7.13 OpenSSL に証明書チェーンの検証不備の脆弱性

[tmkm-amazon asin=’4798041866′][/tmkm-amazon]

MTEntries idで何も表示されない不思議

Movable Typeで運用しているサイトのPC表示でPICK UPのコーナーを設けてTOPページに任意のページへのリンクをつけています。これをスマホサイトにも適用しようと以下のコードを書いたのですが何も表示されません。

※テストのため該当ID(4264)の記事のタイトルだけを表示しようとしています。

テンプレートの種類は「カスタムインデックステンプレート」です。lastnでは表示されるのですがidを使うと、とたんに何も表示されません。

いろいろと調べたところ以下のサイトが参考になりました。
カテゴリーアーカイブ内で任意のエントリーを表示する(Technology on Information)

こちらを参考にテンプレートを以下に変更

これで無事に表示されました。
ただ不思議なのは参考にしたサイトではカテゴリーアーカイブテンプレートの場合に現象が発生すると言っているのですが、私の場合はカスタムインデックステンプレートで起きています。テンプレートの種類を「メインページ」にしても現象は変わりませんでした。この謎は解明していません。

Excel2007で新規ブックの初期フォントとシート数を変更する

エクセルで新規ブック(ファイル)を作成するとフォントが「MS Pゴシック」、フォントサイズ「11」、シート数3で開く。

デフォルト設定で開いたエクセルのブックよく最初のシート(Sheet1)しか使っていないのに空のシートを2つ付けてよこす人がいるが、空ならシートは消して頂きたいと思ったりもする。
そこでシート数は最初から1枚、ついでにフォントも初期設定で変えてしまおうと思う。

  1. 左上のofficeボタンをクリック
  2. 開いたメニューの中から「Excelのオプション(I)」ボタンをクリック
    officeボタンをクリックしたときのメニュー
  3. Excelのオプションウィンドウが開くので「基本設定」内の「新しいブックの作成時」にある“使用するフォント”、“フォントサイズ”、“ブックのシート数”を変更
    Excelのオプション設定
  4. Excelを再起動すると設定した内容で新しいブックが開く

これで設定した内容で新規ブック(ファイル)が開くようになります。

[tmkm-amazon asin=’B00AENF1E8′][/tmkm-amazon]

2015.03 アップルイベントについての感想

日本時間の3月10日の深夜に行われたアップルのイベントで2つの新商品が発表されました。

Apple Watch

ひとつは出ることが確実視されていたApple Watch。

Apple Watch

iPhoneユーザーでない私にはまったく興味がわかなかった。これのためにiPhoneにしようと思わせるデバイスでもなかった。Apple Watchをするくらいなら普通の腕時計を買う。それくらいの気持ちだ。

MacBook

もうひとつは「でるかも」くらいの温度だったMacBook。予想ではMacBook Air 12インチとされていたが、出てみればAirとは別カテゴリーで登場した。

MacBook

正直こちらには大いに期待していた。私の現在のメインマシンはMacBook Air13 2012モデルだ。Airがメインって言うのもどうかと思うが、使ってみると結構メインでいけている。が、不満がないわけでは当然ない。
まず、画面が狭い。1440×900って今の時代の13インチディスプレイとしては狭い。そこでRetina化されたMacBookはかなり魅力的だ。

2つ目のAirの不満点は非力なところ。「Airなんだから仕方ないだろ」と言われそうだが、CPUの世代を若返らせ、SSDがSATA3からPCIeベースになればかなり早くなるんじゃないかと思っている。が、残念ながらMacBookのCPUはIntel Core M。クロックはオプションで上げても1.3GHzと非力すぎる。

そして何よりも問題なのが拡張性のなさ。最近のMacはこんな進化ばかりだが、いくらなんでもUSBポート1つだけは少なすぎる。しかも電源と共用だなんて。価格も決して安くはなく、むしろ高い。

おとなしくMacBook AirをRetina化してCPUの世代交代とバッテリー時間の向上くらいにしてくれた方が幸せな人は多かったんじゃないだろうか。それだったUSBポートがタイプCに変更されても我慢したさ。

と言うことで、私の中でMacBookはなし!

あ〜、次期メインマシンは何にしたらいいんだろう。

カテゴリー: Mac

ページ内リンクを無効にしてタブメニューを動かす(jQueryのpreventDefault)

Webサイトでよく目にするタブメニュー。実装自体は難しくないのですが、最近アクセシビリティというものの対応案件がありマークアップでかなり四苦八苦しました。

はじめタブ部分はaタグで囲まず、cssでカーソルを手マーク(pointer)に変えていたのですが、それではTabキーでリンクを移動してきた際にタブにフォーカスが当たらずアクセシビリティとしてNGをくらいました。

そこでタブ部分をaタグで囲むようにマークアップを変更したのですが、ある問題が勃発!それはページ内リンクとして機能してしまい、タブをクリックするとページ内で表示位置が動いてしまうこと。
それをjQueryで回避する方法を調べました。

まずはダメな場合

恥ずかしいソースコードなのはご愛嬌
上記のコードのサンプル

大丈夫な場合

JSのみ更新
上記のコードのサンプル
return false;を使ってリンクを無効化する方法もあるのですが、その場合タブで切り替える部分も機能しなくなってしまいます。ページ内リンクのみを無効化したいためpreventDefaultを使用しました。

参考サイト
TAM Technical Team Tips Note
jQuery のバブリング、preventDefault() や stopPropagation() の使用例

ふじこのプログラミング奮闘記
jQueryのバブリングと、「return false;」「e.stopPropagation();」「e.preventDefault();」について

[tmkm-amazon asin=’4048913913′][/tmkm-amazon]

WordPressでタイトル入力を必須にする方法

今までまったく知らなかったのですがWordpressはタイトル、本文を入れなくても記事が公開できてしまうんです。

「タイトル入れないってどうゆうことだ!」と思ってしまうのですが、できてしまうものは仕方ないです。

タイトルを入れなくても公開できている

記事一覧では(タイトルなし)と表示される

※タイトル、本文両方入れない場合「投稿を公開しました」と表示されるが実際のページはない。

運用ルールで“タイトルは必ず入れる”とすればいいとは思うが、ついうっかりもあるかもしれないのでタイトルが入力されていない場合はアラートが出るようにします。
以下をfunctions.phpに追記します。

タイトルの有無をjQueryでチェックしてアラートを出しています。「タイトルを入力してください」の部分はアラートで表示する文字なので好きな文字に変更して使えます。

タイトルを入力しないで公開しようとするとアラートが表示される

これでタイトルを入力しないで公開しようとするとアラートが表示され記事は公開されません。

Logicool G700sを使って1ヶ月レポート

今までLogicoolのMX Revolutionを使っていて、何ら不満はなく、むしろ気に入っていたのですがチャタリングがひどくなってきて使い物にならなくなってしまいました。5年も使っていればしかたないですね。
チャタリング状態で使い続けるのはストレスがたまるので新しいマウスを買うことにしました。MX Revolutionの後継機はM950tらしいのですが、今回は巷で評価の高いロジクールのゲーミングマウスG700sを購入してみました。

Logicool G700s外箱

内容物

G700sの内容物

箱の中には

  • G700s本体
  • レシーバー
  • 充電ケーブル(ワイヤードケーブル)
  • レシーバー延長USBケーブル
  • 説明書、保証書、保証規定(白い紙箱)

充電池

電池入れ

G700sはワイヤレスと有線のどちらでも使えるタイプのマウスです。単三電池1本で動き、マウスにははじめからエネループが入っていました。電池の下のくぼみにはレシーバーを入れることができます。充電ケーブルを繋げばマウス本体でエネループを充電できるようですが、やったことはありません。

充電ケーブルを刺すコネクタ

マウス前方には充電ケーブルを刺すmicroUSB端子があります。ここにケーブルを繋ぐと有線マウスとして使用することができるみたいです。こちらもやったことはありません。

ゲームソフトウェア

ゲーミングマウスって始めただったので知らなかったのですが、ドライバと言うより専用のソフトをインストールする必要があるんですね。しかもソフトはバックグラウンドで動かし続けてる必要があるなんて。

ゲームソフトウェア

こんな初歩的なことがわるまで苦労しました。そしてどうもこのゲームソフトウェアが私のMacとの相性が悪いみたいです。ポインタ設定をどんな変えても画面を切り替えると元に戻ってしまうんです。
この件に関してLogicoolのサポートとやりとりしたのですがまったく解消せず。

こんな状況なので「このマウス使えないかも」と思っていたのですがデフォルト設定から設定を削り、そこからちょっとずつ設定していったら設定が保存されました。

  1. 「デフォルトに戻す」をクリックして設定をデフォルトに戻す
  2. DPI感度レベルのレベルの数を“1”にする
  3. 感度レベルの好きな数値に変更
  4. レベルの数を“2”に増やす
  5. 増やした設定を好きな数値に変更

※ OS X 10.9.5、ゲームソフトウェア8.55.88

とやっていきました。現在、これでうまくいっています。
私はゲームをしないので、あまり多くの設定が必要ではありません。なので画像のような少ない設定になっています。

総評

ボタンが13個もあるマウスなんて初めてだったのですが、ソフトごとにキーを割り当てて使うとすごく便利です。Photoshopでキーを3個以上同時に押す必要のあるショートカットを割り当てるとワンクリックで使用できるので一度使うとやめられません。レシーバーも小さくなっていいです。

ブラウジングもほぼマウスだけで行えます。

MX Revolutionと比べると若干大きいような気がします。使い始めは大きさと通常ないボタンを押すために指が攣りそうでしたが、1ヶ月ほど使って慣れました。

問題はネットで言われているように、やはり電池持ちが悪いこと。満充電のエネループで3日保ちません。私は使わない時はマウスの電源を切るのですが、それでも保ちません。なのでこのマウスをエネループ5本で運用しようと思います。

[tmkm-amazon asin=’B00CDCFBD4′][/tmkm-amazon]