スマートキーワードでCSS 2.1仕様書を直接参照

を読み、自分もFirefoxのスマートキーワードを応用してみようと思いました。取り敢えずCSSのプロパティ名からCSS 2.1仕様書を直接ひけるようにしようと、以下のbookmarklet用スクリプトを作成。

javascript:(function(prop){
    var url = 'http://www.w3.org/TR/CSS21/';
    var index = {
        'azimuth':'aural',
        'cue':'aural',
        'cue-after':'aural',
        'cue-before':'aural',
        'elevation':'aural',
        'pause':'aural',
        'pause-after':'aural',
        'pause-before':'aural',
        'pitch':'aural',
        'pitch-range':'aural',
        'play-during':'aural',
        'richness':'aural',
        'speak':'aural',
        'speak-header':'aural',
        'speak-numeral':'aural',
        'speak-punctuation':'aural',
        'speech-rate':'aural',
        'stress':'aural',
        'voice-family':'aural',
        'volume':'aural',
        'border':'box',
        'border-bottom':'box',
        'border-bottom-color':'box',
        'border-bottom-style':'box',
        'border-bottom-width':'box',
        'border-color':'box',
        'border-left':'box',
        'border-left-color':'box',
        'border-left-style':'box',
        'border-left-width':'box',
        'border-right':'box',
        'border-right-color':'box',
        'border-right-style':'box',
        'border-right-width':'box',
        'border-style':'box',
        'border-top':'box',
        'border-top-color':'box',
        'border-top-style':'box',
        'border-top-width':'box',
        'border-width':'box',
        'margin':'box',
        'margin-bottom':'box',
        'margin-left':'box',
        'margin-right':'box',
        'margin-top':'box',
        'padding':'box',
        'padding-bottom':'box',
        'padding-left':'box',
        'padding-right':'box',
        'padding-top':'box',
        'background':'colors',
        'background-attachment':'colors',
        'background-color':'colors',
        'background-image':'colors',
        'background-position':'colors',
        'background-repeat':'colors',
        'color':'colors',
        'font':'fonts',
        'font-family':'fonts',
        'font-size':'fonts',
        'font-style':'fonts',
        'font-variant':'fonts',
        'font-weight':'fonts',
        'content':'generate',
        'counter-increment':'generate',
        'counter-reset':'generate',
        'list-style':'generate',
        'list-style-image':'generate',
        'list-style-position':'generate',
        'list-style-type':'generate',
        'quotes':'generate',
        'orphans':'page',
        'page-break-after':'page',
        'page-break-before':'page',
        'page-break-inside':'page',
        'widows':'page',
        'border-collapse':'tables',
        'border-spacing':'tables',
        'caption-side':'tables',
        'empty-cells':'tables',
        'table-layout':'tables',
        'letter-spacing':'text',
        'text-align':'text',
        'text-decoration':'text',
        'text-indent':'text',
        'text-transform':'text',
        'white-space':'text',
        'word-spacing':'text',
        'cursor':'ui',
        'outline':'ui',
        'outline-color':'ui',
        'outline-style':'ui',
        'outline-width':'ui',
        'height':'visudet',
        'line-height':'visudet',
        'max-height':'visudet',
        'max-width':'visudet',
        'min-height':'visudet',
        'min-width':'visudet',
        'vertical-align':'visudet',
        'width':'visudet',
        'clip':'visufx',
        'overflow':'visufx',
        'visibility':'visufx',
        'bottom':'visuren',
        'clear':'visuren',
        'direction':'visuren',
        'display':'visuren',
        'float':'visuren',
        'left':'visuren',
        'position':'visuren',
        'right':'visuren',
        'top':'visuren',
        'unicode-bidi':'visuren',
        'z-index':'visuren'
    };
    var page = index[prop];
    if (page)
        location.href = url + page + '.html#propdef-' + prop;
    else
        location.href = url + 'propidx.html';
})('%s');

Appendix F. Full property tableを参照しました。