17 October 2008
ページ ツール |
新しいCSS書き出し機能に適したデザイン、およびこの機能の使用法に関する基本的な解説については、John Wylie氏執筆の別途記事「Fireworks CS4でのCSSと画像の書き出し」を参照してください。
中級
World Wide Web Consortium(W3C)は他のグループや標準規格制定団体とともに、Webベースコンテンツの作成および解読に関するテクノロジの確立を手がけています。「Web標準」とも呼ばれるこれらのテクノロジは、Webにパブリッシュされるあらゆるドキュメントの長期的な有効性を保証しつつ、より多くのWebユーザに、より優れたメリットを提供できるよう、綿密に計画・制定されています。
— Web Standards Projectからの抄訳
デザイン段階からページ完成に至るまでの筆者のワークフローにおいて、Fireworksは長年重要な役割を果たしてきました。しかし、画像をスライスして書き出し処理を行った後に、生成されたマークアップ言語とCSSを手作業で編集せざるを得なかった経験があります。Fireworks CS4チームはこのようなケースが存在することを認識し、今回、CSS書き出し機能関連の問題を解決することに取り組んでいます。
Fireworks CS4がXHTML+CSSの書き出しに対応することが公表された際、筆者はその可能性に興奮する一方で少々疑念を抱きました。今日の業界においてCSSはとても重要なキーワードであり、このCSSが利用できるようになることは飛躍的な一歩とさえ言えます。しかし、CSSが完璧なWebサイトを構築するための決定的な答えと言うわけではありません。今日のWebを見渡しても、残念ながらCSSを用いた不適切なWebサイトは数多く存在します。完璧なWebサイトの構築を可能にする真の決定的な答えといえば、それはWeb標準に間違いありません。
Web標準こそがWebの未来と言えます。読者がまだWeb標準を採用していないのであれば、今こそWeb標準を始める絶好のタイミングです。Web標準を利用することのメリットをいくつか挙げてみることにします。
残念なことに、筆者がCSS書き出し機能に対して感じた疑念は現実のものになっていました。CSSベースのWebページを書き出すために様々な努力が尽くされたものの、生成されるコードの意味論的な整合性、アクセシビリティおよび開発の簡素化は、やや見過ごされがちな結果となっています。
そこで、FireworksとWeb標準のエバンジェリストである筆者は、読者の皆さんが、より優れた標準規格準拠のWebページを作成できるようにするために、Fireworksチームと共同してCSS書き出し機能の強化版を開発することにしました。この強化版に施された主な変更点は以下の通りです。
他にも、様々なバグフィックスや改善点が含まれています。
この記事では標準規格準拠のデザイン作成を支援する、強化アップデート版CSS書き出し機能の使用法について解説します。
セマンティック(意味論)を考慮したマークアップを記述することは、Web標準の使用に向けた重要な一歩です。セマンティックを考慮したマークアップとは、ドキュメント冒頭の最も重要な見出しに<h1>要素を用いるなど、各XHTML要素をそれぞれの本来の意図通りに用いる記述法のことです。
セマンティックを考慮したマークアップが完成したら、ドキュメントの構造とプレゼンテーションを分離し、CSSを利用してこれらの要素にスタイルを適用します。この際、マークアップとCSSの両方を検証し、これらが標準規格に準拠していることを確認するのも重要です。もちろん、他にも検討が必要な標準規格もありますが、この記事では、こられ2つを最も重要な標準規格として扱うことにします。
Fireworks CS4が登場するまで、Webサイトのレイアウトデザインは、各要素の意味合いをほとんど考慮することなく生成されていました。もちろん、あらかじめ視覚的に大小異なる見出しを作成することはあったかもしれませんが、実際に使用される要素はデザインが完成してから、XHTMLとCSSでの構成段階で決定されるケースがほとんどでした。
このワークフローは、1人のデザイナーがWebページのデザインと構築を担当する場面では十分なものの、XHTMLの構築が他のデザイナーやデベロッパーに委ねられるような場面では意図したドキュメント構造が必ずしもその通りに認識されるとは限らないため、結果として意味論的な配慮が欠如する恐れがあります。
この記事で紹介するアップデート版のCSS書き出し機能は、Fireworks CS4ドキュメント上でセマンティックを考慮したデザインを計画・実現するために2つの方法を提供します。これにより、一段と効率良くデザイン案を計画できるようになるだけでなく、第三者が容易にプロジェクトに参加できるようにもなります。
ここからは、その2つの方法である「テキストのタグ付け」および「HTMLコンポーネントシンボル」を解説するとともに、これらの長所・短所もあわせて紹介することにします。
Fireworksデザイナーの大半はテキストツールを利用して、作業中のデザイン上にテキストを配置しているはずです。だからこそ、意味合いを考慮した構造を定義する上で、標準的なテキストオブジェクトこそが絶好の機会になるのではないかと考えました。
そこで、今回はテキストオブジェクトにタグを付けられるようCSS書き出し機能を改良し、単に明快な命名基準に従うだけで、出力後のXHTMLに適切なタグが配置されるようにしています。
テキストオブジェクトから生成できる要素は、<a>、<blockquote>、<div>、<h1>、<h2>、<h3>、<h4>、<h5>、<h6>、<label>、<p>および<span>です。これらのタグ以外が指定されている場合、またはタグが一切指定されていない場合は、<p>が生成されます。
テキストオブジェクトで特定のタグを使用することは、当該オブジェクトの名前の冒頭にそのタグ名を付けることで指示できます。例:<h1>タイトル。
では実際に試してみましょう。
ここまでではFireworksでテキストオブジェクトに対してタグ付けを行わなかったため、コンテンツは段落内に書き出されています。この段落にはlastNodeクラスが与えられ、Txt_Helloクラスのdivに囲まれていることが確認できます。
このドキュメントに関連付けられたCSSファイルを表示すると、lastNodeクラスはIDが「main」の要素内の段落に適用されることと、そのクラスのmargin-bottomが0にリセットされていることが確認できます。
また、別のdivに適用されるTxt_HelloクラスはFireworksのテキストオブジェクトの名前に基づくものでおり、このクラスによって所定の位置への配置が定義されるとともに、div内の段落にも適切なスタイルが適用されるようフォントとカラーのプロパティが定義されます。
これにより、ユーザはFireworks上ではもちろんのこと、外部エディタやCMSを利用しても、複数の段落を追加し、常に適切なスタイルを各段落に適用させることができます。ただし、テキストブロックの最後の段落には、必ずlastNodeクラスを適用する必要があることだけ注意するようにしてください。
では、次のサンプルを試してみましょう。
Fireworks CS4搭載のオリジナル版のCSS書き出し機能では、複数の段落が作成されることはなく、行間に改行(<br />)を用いて余白が挿入されます。また、Txt_Helloクラスも段落に適用されますが、divは作成されません。したがって、検証エラーを起こさずに新たなコンテンツを追加することはできません。
ここまでで、アップデート版のスクリプトが既に一段と標準準拠性に優れたページの作成に役立っていることがお分かりいただけることでしょう。
次に、タグ付けを試してみましょう。
ご覧のように、ここでは読者が「Hello world」を<h1>に指定したことがFireworksによって尊重されています。しかも、今回は改行で行間に余白が挿入されているとともに(見出しの中に段落が配置されては矛盾が発生するため)、スタイルが適用できるよう<h1>にh1_titleクラスが設定されています。また、<h1>要素内に配置できるのがインライン要素のみであることから、ここでは新たなdivが作成されることがありません。
既に触れたように、テキストオブジェクトにタグを付ければ、12種類のXHTML要素を生成することができます。
なお、この方法でアンカーの<a>を生成する場合は、これに対応するスタイルがすべてのアンカー要素にグローバルに適用されるという点に注意が必要です。また、:link、:visited、:hover、:focus、または:activeの仮想クラスに異なるスタイルを指定することはできません。これらの仮想クラスのスタイル設定は、書き出されたCSSファイルを手作業で編集して調整する必要があります。
テキストオブジェクトの使用に関しては、他にも検討すべき3つの重要事項があります。
では上記の重要事項について少し詳しく見ることにしましょう。ここでは4つの<span>と2つの<a>タグでタグ付けが行われた、6つのpoint-textオブジェクトから構成されるWebサイトの「パンくずリスト」を例に挙げることにします。次の図にあるように、書き出し後の間隔が均一になるよう、Fireworksで境界ボックスを6ピクセル間隔で配置していたとしても、Fireworks上のこれらのテキスト間隔は9ピクセルで表示されることがある点に注意が必要です(図4参照)。
今回の強化版CSS書き出し機能は、文字間の間隔(letter-spacing)、行間(line-height)、テキストの横揃え(text-alignment)、フォントの太さ(font-weight)およびフォントスタイル(font-style)の各オプションをサポートするとともに、段落の前後にある余白を、それぞれの段落に関連付けられた、単位「em」のmargin-bottom値に変換します。
Fireworks CS3から導入されたリッチシンボルは、Webサイトのデザイン時、インターフェイスのプロトタイプ作成時、または他のグラフィックデザインの構成時に利用・再利用できる、編集可能なデザイン・インターフェイスコンポーネントです。Fireworks CS4では、これらのシンボルの書き出し時に、必要なXHTMLマークアップおよびCSSが生成されるよう、この機能が強化されています。
Fireworksチームが当初目指したのは、CSS書き出し機能が用いられる際、HTMLコンポーネントを利用してすべての要素のマークアップを生成することでした。しかし、今回タグ付けというテクニックが導入されたことにより、HTMLコンポーネントの使用は効率面でも劣ることから、HTMLコンポーネントの必要性は下がると考えられます。だからといって読者のワークフローにおいて、HTMLコンポーネントが無用になるという分けではありません。その証拠に、筆者は新たなHTMLコンポーネントシンボルを作り直し、これらを今回の強化版CSS書き出し機能の一環として提供しています。
メモ:既存のHTMLコンポーネントを既に使用している場合は、当該ドキュメントのライブラリを更新して新たなコンポーネントを含めない限り、デザインの書き出し時にエラーが発生する恐れがあります。
HTMLコンポーネントシンボルは、共有ライブラリパネル(メニューからウィンドウ/共有ライブラリを選択)のHTMLフォルダに配置されています。シンボルとして用意されているのは、リンク、見出し_1、見出し_2、見出し_3、見出し_4、見出し_5、見出し_6、テキストフィールド、テキストエリア、コンボボックス、チェックボックス、ラジオボタンおよびボタンです。
フォーム要素にはすべて、Windows VistaとMac OS ×両方のデフォルトテーマが適用されたものが用意されています。また、他のOSテーマも手軽に作成できます。これについて詳しくは、Aaron Beall執筆の別途記事「Fireworksでのリッチシンボルの使用」およびSarthak Singhal執筆の別途記事「Fireworks CS3でのリッチシンボルの拡張」を参照してください。
CS3のリッチシンボルと同じように、HTMLコンポーネントのプロパティは当該シンボルがカンバスで選択された状態で、シンボルプロパティパネルを利用して変更できます。
見出し_1から見出し_6のコンポーネントには、以下の編集可能プロパティが含まれています。
テキストオブジェクトに見出しのタグ付けを行う方法と比較して、このリストに特に制限があるように感じられないかもしれませんが、この2つには明らかな違いがあります。
さらに、残念ながら共有ライブラリパネルにはCS3の短所が引き継がれており、CS4のシンボルプロパティパネルにも、次に挙げる煩わしい既知のバグがいくつか存在します。
シンボルの使用には、再利用が可能であること、手軽に入れ替えが可能であること、そして一度の編集で複数の対象を更新できること、といったメリットの他にも、使用するフォント(ファミリ)の選択肢をユーザのコンピュータ上で最も一般的なものに限定できるというメリットがあります。ただし、ここでテキストオブジェクトを弁護するのであれば、テキストオブジェクトを使用する場合、標準的なフォント以外が用いられる際に、必要な警告が発せられるということが注目に値します。
どのフォントがWebで問題なく使えるかが不確かな場合は、Code Styleサイトの最も一般的なWindows・Mac・Linux向けフォントの調査結果を参照することをお勧めします。
既にお気づきの通り、筆者は見出し用のHTMLコンポーネントの使用を推奨していません。それ以外のリンクシンボルおよびフォーム要素のシンボル群は、読者のワークフローにおいて重宝するはずです。
リンクシンボルには、以下の編集可能プロパティが含まれています。
他にも、:visited、:hover、:activeの仮想クラス共通で、カラー、太さおよび修飾に関するプロパティを編集することも可能です。
リンクシンボルにも前出の見出しシンボルと同じ問題がありますが、ここではそれほどの問題にはなりません。
では、リンクシンボルに慣れ親しむために、実際にこのシンボルを使ってみましょう。
書き出されたリンクがFireworksで表示されていたものとまったく同一であることが確認できます。:link、:visited、:hoverおよび:activeの各仮想クラスのカラー、修飾、太さといったプロパティも、すべて維持されていることが確認できます。
Dreamweaverで関連CSSファイルを開くと、図5に示すような、すべての関連ルールが作成されていることが確認できます。アンカー向けのCSSルールがどの順序で生成されるかは、すべてのステートに常に正しい書式が適用されるようにする上で非常に重要です。アンカーのID「#リンク」は、Fireworksのオブジェクト名に基づいて生成されています。
より的確な意味合いのマークアップをFireworksから出力できるようにすることへの支援を求められた際、筆者は、順不同リストを作成できるようにすることを最優先課題として取り上げました。だからこそ、強化版に収録されている新しいシンボルのList Itemには細心の注意が払われています。
シンボルの名前がList Itemにはなっているものの、たいていの場合、このシンボルはリンクを作成するために使用します。この解説では、矛盾しているかのような印象を与えかねないので、もう少し詳しく説明することにします。Webサイトには必ず何らかの形のナビゲーションが存在します。ナビゲーションの構成を意味論的な観点から考えた場合、これらはあくまで一連のリンクのリストに過ぎません。つまり、List Itemはリンクを作成するためにピッタリのシンボルと言えます。
List Itemシンボルには、以下の編集可能プロパティが含まれています。
このシンボルでは「Node type」プロパティと「Is link?」プロパティが最も重要になります。「Node type」では各リスト項目がマークアップ上で何を表すのかを指定し、「Is link?」では当該シンボルによるアンカー出力の有無を指定します。アンカーを出力すれば、リンクシンボルを使用する場面同様に、適切なスタイルの適用が可能になります。
「Node type」プロパティの設定とその効果を以下に示します。
<li>Text</li><ul><li>Text</li><li>Text</li></ul><ul><li>Text</li></ul>様々なList Itemシンボルを組み合わせ、そして、これらのNode typeを正しく設定することで、子リスト項目さえも含む、完全な順不同リストを書き出すことができます。
次に、具体例を用いながら解説することにします。
List item」に変更します。last」に設定します。false」を設定します。first」に設定します。
CSS書き出し処理では、オブジェクトの列や行の位置が解読され、ドキュメントの構成が推測されます。なお、この際用いられるフロートクリアの仕組みが原因で、縦型の順不同リストの作成を試みると、無効なマークアップが作成されることになります(図7参照)。
縦型のナビゲーションを作成する場合は、単にこれらのフロートクリアdivを削除してから、各<li>タグ内にclearFloatクラスを割り当てます(図8参照)。また、長方形、線、テキストなどのオブジェクトを使用してFireworks上のリスト項目を視覚的に分散している場合は、縦型、横型どちらのリストに対しても、無効なマークアップが生成されます。
このような場面で期待通りの結果を得るためには、書き出し処理が完了してから「仕切り」的な要素を<li>タグ内に手作業で移動し、必要に応じてスタイルを幾分調整する必要があります。
今回の強化されたバージョンでは、<form>要素が最も徹底的に見直されています。これまでもWindows用とMac用のフォーム要素は装備されていましたが、特にMac用のものは、その有用性に疑問が残るものでした。
今回の強化ではWindows、Mac両方の要素群がアップデートされており、一段と多くのプロパティが編集可能になるとともに、適切かつ有効なマークアップおよびスタイルが書き出されるようになっています。また、強化版にはHTMLのTextArea要素も収録されています。
フォーム要素に用意されている編集可能プロパティは以下の通りです。
ボタンシンボルのTypeプロパティでは、Submit、Reset、Buttonのいずれかのボタンタイプの書き出し・表示を指定することができます。テキストフィールドのシンボルは、標準テキストまたはパスワード入力のいずれかを選択して書き出せます。
Stateプロパティの内容はシンボルによって異なるものの、一般的には当該要素上にポインタが配置された状態のOver、当該要素が選択された状態のSelected、および当該要素が無効化された状態のdisabledを表すことができます(無効化された要素は無効化されて書き出されます)。
フォーム要素を含むドキュメントを書き出す際には、有効かつ標準規格準拠のマークアップが得られるよう、以下の事柄に注意する必要があります。
<form>要素内に配置されます。.NET環境の開発ではこの動作が一般的であり、たいていの場合、この動作が問題になることはありませんが、同じドキュメントに検索フォームとメッセージ投稿用のフォームが存在するケースなど、明らかに用途の異なる複数のフォームが1つのドキュメント内に存在するような場面では、フォームの構成を手作業で修正する必要があります。<fieldset>および<legend>要素が書き出されることは一切ありません。Fireworks上では一連の<form>要素を論理的に定義することができないため、これらの要素は、書き出し後に手作業で追加し、必要であればスタイルを外すことで不可視の状態に保つことができます。<label>要素を書き出します。デザイン上で他のフォーム要素向けに可視的な<label>が必要な場合は、このテキストオブジェクトに<lable>タグを付けるようにします。ただし、このケースでもフォームのコントロールIDの値が含まれた「for」属性を追加することで、当該ラベルを所定のフォームコントロールに関連付ける必要があります。 <label>タグが不要な場合は、一旦これらのタグをデザイン上から削除し、書き出し処理が完了してからこれらをマークアップコードに追加することができます。この際、CSSを利用して不可視にし直すことを忘れないようにしてください。フォーム要素の使用に関しては、他にも次の2つの注意点があります。
Fireworks CS4には、CSS書き出し機能を一段と拡充するための素晴らしい強化機能として、背景画像のスライスタイプが追加されています。これにより、最も単純な使用例としては、デザインの必要な部分をスライスし、これらを空のdivの背景画像として書き出すことが可能になります。しかし、この機能の真価はbackground-repeatプロパティおよびbackground-positionプロパティを利用して、divのタイル背景を作成する際に発揮されます。
「百聞は一見にしかず」と言うことわざ通り、ここではこの機能を実際に試してみることにします。
Fireworks上とまったく同じデザインが表示されるはずです。この表示は、1pxの背景スライスからのみ構成されています。
では、このテクニックの実践的な使用例を考えてみましょう。ナビゲーションバーやブロックレベルの見出しといった、他のコンテンツを含むdivの背景をこのテクニックで作成することができます。以下にその手順を示します。
この単純な演習では、CSS書き出し機能の実力と、アクセシブルかつ標準規格準拠のページ制作を支援するというこの機能の目標が示されています。ここではすべてのフォントサイズがパーセント比率で指定されているので、すべてのブラウザで文字を体裁良く縮小・拡大することができます。この点はアクセシビリティを高める上で、すべてのサイトにおいて重要なことです。
また、背景画像の端点では背景がボックスの残りの部分の色に溶け込むように表示されることが確認できます。これは、手順3で長方形にべた塗りの背景色を設定していたためです。たとえオブジェクトにグラデーションの塗りが設定されていても、元のべた塗りのカラー情報をそのまま記憶されています。強化版のCSS書き出し機能では、この特長が生かされています。
試しに、Fireworksの作業画面に戻り、長方形の塗りをピンクのべた塗りに変更し、黒から黄色の線状グラデーションを適用してから再度書き出しを行ってみてください。図10のような結果が得られるはずです。また、ここで紹介した背景画像のスライスタイプは、水平方向のグラデーションにおいても、y軸方向に繰り返されること以外まったく同じように機能します。
一般的なWebデザインの概念の1つとして、固定上部、あらゆるコンテンツ量に対応可能な中央部、固定下部の3つのパーツで、パネル表示を構成する考えがあります(図11参照)。CSS書き出し機能は、背景画像スライスタイプを使用してこのような要件に応えることができます。Fireworksでは、このような処理の方法を「3スライステクニック」と呼びます。
長方形、角丸長方形のオートシェイプ、またはパスの上に3つの背景スライスが配置されている場合(上部に1つ、中央の繰り返し部分に1つ、下部に1つ)、CSS書き出し機能はこれらの意図を自動的に検知し、3スライステクニックを使用して必要なマークアップを生成します。例えば、図12に示すようなスライスの配置を検討するようにしてください。なお、最上部のスライス領域に見出しを含めておくことも可能です。
画像に見出しのテキストを追加する場合は、当該テキストが見えないようにして、別途、上部のスライスを再度書き出す必要があります。またこの際、テキスト表示サイズの拡大にも対応できるようにするために、当該スライスの高さを広げる必要もあります。
この記事で紹介したテクニックを利用することで、次に示すサンプルプロジェクトのようなプロフェッショナルかつ標準規格準拠の結果が得られます。ここで示すサンプルは、Smolderと呼ばれる汎用的なブログ投稿用のテンプレートデザインです。アップデート版のCSS書き出しスクリプト、HTMLコンポーネント、およびサンプルファイルが含まれた以下のアーカイブをダウンロードしてください。
次に、Fireworks CS4でsmolder.fw.pngファイルを開きます(図14参照)。
このデザインの計画段階で考慮した事柄と、さらに完璧な結果を得るために書き出し後にDreamweaver上で行える作業を以下に紹介します。
いくつかのオブジェクト(特にリンクシンボル)は正確に整列されておらず、これらの位置は高すぎるように感じられるかもしれません。これは、書き出し処理時に要素のデフォルトのline-heightが考慮されないためです(これらのmargin-topが大きすぎる)。この問題を回避するには、(筆者が行ったように)書き出しを指示する前に当該要素をピクセル単位でわずかに移動するか、書き出し後に所定のCSSスタイルを手作業で編集・調整するようにします。
このファイルをCSSと画像として書き出すと、ほぼ完璧な状態の複製を生成できることが確認できます(図15参照)。これはFireworksにとって素晴らしい成果であることが、皆さんにもお分かりいただけると思います。しかも、見栄えがオリジナルとほぼ同じになるだけではなく、書き出されたXHTMLとCSSは、W3Cの検証ツールを使用しても完全に有効なものとして認識されます。
Fireworksがどの程度、セマンティックを考慮したマークアップを生成したかについては、(手作業またはブラウザ上で一時的に)スタイルシートを外すことで確認できます。ここでは、セマンティックがほぼ完璧に考慮され、体裁良く整理され、しかも様々なブラウザデバイスでの使用およびスタイル適用に適した、体裁の良いマークアップが確認できるはずです(図16参照)。
ドキュメントの書き出しまでたどり着いたので、次に、Dreamweaver上の手作業で何が改善できるかについて考えることにします。ドキュメントの上から下に進む形で、筆者のアイデアを紹介していきます。
Fireworksが既に何時間もの労力に相当する手間を省いてくれたことを考えると、これらの改善点にかかわる作業は、さほど大したものではありません。
CSS書き出し機能には、未完全な部分があります。したがって、現状では、すべてのWebデザイナーが利用できるワンクリックのWebデザイン・開発ソリューションというわけではありません。しかし、この機能には紛れもなく多くの労力が費やされてきており、デザインからHTMLへの初期段階において、プロフェッショナルデザイナーの効率アップを実現できるということは言うまでもありません。この分野において、Fireworksに匹敵する製品はありません。
プロのWebデザイナー・ユーザインターフェイスデザイナーである筆者の意見としては、以下に示すものが、現在のCSS書き出し機能に求められる主な改良点です。
ここでは「現時点では」という表現がポイントです。CSS書き出し機能は容易にカスタマイズできます。この機能に興味をお持ちの方は、是非、一層の改善にご協力ください。また、コミュニティに対して、新たなアップデートを公開することにも挑戦してみてください。改良点の提案等に関しては、筆者まで気軽に直接ご連絡ください。また、FireworksサポートフォーラムやFireworks Guru Forumサイトに意見を投稿することも可能です。皆さんからの意見には、Fireworksチーム、John Wylieまたは筆者が対応する予定です。是非ご協力ください。
Web標準について詳しくは、World Wide Web Consortium (W3C)およびWeb Standards Projectを参照してください。
Tutorials & Samples |
Fireworks Forum |
More |
| 12/16/2008 | Disappearing Mouse Cursor? |
|---|---|
| 01/13/2012 | Survey: Blend mode options in Brush tool? |
| 01/25/2012 | after a update of cs3 to 9.0.1 styles are broken |
| 08/15/2011 | CS5 plagued with many bugs in Lion |
Fireworks Cookbooks |
More |
| 09/07/2011 | How do I use FXG XML markup in Shape subclasses? |
|---|---|
| 10/15/2010 | Flex4 Dotted Line |
| 06/25/2010 | ComboBox that uses a NativeMenu (Air API) |
| 05/21/2010 | Localizing a Creative Suite 5 extension |