[敲打鍵盤] 自然語言的親和力原則

這一篇是我給自由軟體鑄造場電子報的稿件,刊登於第八十期。

自然語言的親和力原則

「自然語言」這個說法,是相對於「人造語言」(例如電腦程式語言)的稱呼,簡單來說也就是一般人日常溝通所會使用的語言。人造語言通常有著(由少數人)自創的詞彙,以及嚴格、絲毫不通融的文法,再加上受限的表意範圍,所以對普羅大眾來說,往往會是不容易上手、但也不難完全掌握的語言類別。

另一方面,自然語言跟整個社會文化無法分離,隨著時間而不斷演變;人類在成長過程中很容易就能養成對這種第一語言的語感,再加上自然語言在句法、表意上的彈性,使得這類語言對人類來說猶如天性一般。然而,也因為永無止盡的例外、變動和暗示,自然語言同時也成為最難完全掌握的語言類別。(所以「文學」纔變成了一門學問,而且永遠沒有發展的止境。)

在我們將親和力的設計付諸實現時,最困難的部分並不是關於標籤、標記等「人造語言」的部分,而是在於「自然語言」的使用。不管是在設計網站,或者是在評估網站的親和力程度,自然語言都會是個費解的議題;我在此挑選了這個部分來當作親和力實務的第一步,希望能多少抒解各位心中的困惑。

自然語言,或者說任何用於網站內容的文字、語音,是要給讀者看、聽的;這就是第一個原則:使用(目標)讀者易於理解的語言

當然啦,真正的問題我們之前有提過,在於「誰纔是目標讀者」。這件事是在設計任何網站之前就要先搞清楚的;但是一般在設定目標讀者時,尤其在採用了樣本個案或使用情境範例時,很容易造成盲點⸺有一些人其實應該是你的目標讀者,但卻因「一時沒想到」而被摒除在外。

舉例來說,設計一個「以公眾為服務對象、內容多翻譯自英文」的網站時,很有可能為了提供大眾最精確的內容,而使用許多外來語以及英語式文法,甚至常常用括號夾註原文。這樣的書寫似乎很符合網站的定位;然而,因為對英文熟悉的人,根本會直接去看原始的英文網站,所以這種網站真正的目標讀者,其實是對英文及英文式文法不熟悉的人,結果這網站內容所用的語言,恰好是對目標讀者最沒有幫助的⸺這些讀者被網站的內容摒除在外。這樣的網站就算花了再多心思去撰寫、維護,最後卻會被嫌「難以閱讀」(網頁內容不夠具有親和力)而未竟其功。

為了避免重蹈此種覆轍,我建議在列出樣本個案或使用情境範例時,同時併用「負向列表」:試著列出「哪些人不是我們要服務的對象」,其餘的都是需要顧及之處。

以相同的例子來說,我們除了把目標讀者設定成「受過(或正在受)國民義務教育的普羅大眾」外,如果再把「熟悉英文及歐美文化的人」排除掉,就能夠避開前述的慘劇。各位可能注意到了,「負向列表」並非祇訂出「可以不處理」的範圍,而是成為增強目標讀者特質的陳述。當然啦,在這個例子中,你也可以直接把目標讀者設定成「不熟悉英文及歐美文化的普羅大眾」,但是這種用精細的正向列表累積出來的目標設計,不但容易有所疏漏,而且可能會造成若干矛盾,甚至混淆了各項細節的輕重緩急;所以尤其在專案的一開始,同時併用正向列表及負向列表,將讓事情更簡單、更清楚。

第二個原則是:使用的文字要在情境中具有意義。也就是說,任何文字,都必須考慮到前後文⸺句子是不是能像個句子、段落是不是能像個段落。

跟這個原則最直接相關的常見錯誤,出現在非文字組件(如圖片、影片、音訊、Flash 動畫等)的替代文字(alt)屬性。許多撰寫網頁的人,對親和力沒有正確的認知,祇因為被教導說「所有的 <img /> 標籤都要有 alt 屬性」,就畫蛇添足地撰寫了過量的替代文字。

其中一個最常見的情況,是在裝飾性(而不具語意)的圖片上,撰寫了多此一舉的替代文字。想像一下,有一個網頁,在標題「新生活運動」的前後,用了若干裝飾用的雲朵圖片;這些雲朵圖片通通都加上了 alt="雲" 的屬性,因此使用研考會網頁無障礙的檢測軟體,或者用 W3C 的親和力檢測軟體檢測時,都能順利地通過。然而,當使用者把瀏覽器的圖片顯示功能關閉,或者使用純文字網頁瀏覽器,或者把網頁內容直接複製—貼上到 BBS 上或其他純文字編輯器時,卻會變成這樣子:

雲 雲 雲 新生活運動 雲 雲 雲

如果網頁的讀者使用了螢幕朗讀軟體,還可能因此發出更多噪音:

「圖,雲,圖,雲,圖,雲,新生活運動,圖,雲,圖,雲,圖,雲」

因為這些圖片放在前後脈絡中,沒有任何語意,所以最適合它們的替代文字屬性應該要是個空字串,寫成 alt=""。如此一來,不論是純文字模式中,或者是螢幕朗讀的時候,讀者都祇會看或聽到真正具有意義的「新生活運動」而已,不會有多餘而無意義的東西。

另一個也很常見的狀況,則出現在附有解說的圖片上。如果圖片之後緊跟著圖說,或者是馬上出現了代表該圖片意義的文字,那麼這種圖片也應該用 alt="" 的空字串替代文字屬性,否則讀者就有可能會連續看或聽到兩次相同的內容。如果有人跟你說話時,每一句話都要講兩次,你一定會精神崩潰;所以千萬不要用同樣的方式虐待你的讀者或聽眾。

除了不要畫蛇添足外,對於安插在文句當中的(非文字內容的)替代文字,以及網頁中的任何文字,也都應該要秉持著相同的原則,讓應該要是句子的字串,能有句子該有的正確語法,表達出恰到好處的語意。

接下來的第三個原則,跟第二個原則可以說是一體的兩面:使用的文字要在情境外具有意義。或者說,每一段文字在單獨出現的時候,也要能有足夠的意義。

這聽起來很奇怪,畢竟我先前一再地強調情境、脈絡、上下文的重要性,現在卻又叫你要能從中抽離。這個原則是因應網頁媒體的特性而生的:網頁媒體的特性在於,任何讀者都能夠決定,內容要如何呈現在他們面前,好讓他們能夠更便利地使用。所以,網頁中任何一段文字,都有可能被擷取出來,抽離其原本所處的脈絡,被重新整理呈現。

舉例來說,許多網頁瀏覽器或螢幕朗讀軟體,都能夠把網頁中所有的圖片或超連結抽取成一份清單,在這份清單中會列出圖片的標題(title 屬性)及替代文字(alt 屬性),或者是超連結的標題(title 屬性,沒有的話則通常會用超連結文字)及網址。所以尤其當你替語意不全的文字⸺例如「說得好」、「很」「多」「人」、「以前」等⸺加上超連結時,別忘了務必要用 title 屬性,為它們撰寫一段「單獨閱讀也能懂」的標題文字。

這個原則並非侷限於圖片或超連結而已,任何的文字段落及網頁內容也都該如此。除了因為讀者可能把這些片段抽出運用外,他們也有可能因為某些原因(例如運用了定位錨)跳過網頁開頭,而從中間開始閱聽;或者是受到注意力、記憶力、視力或其他感官的限制,而沒有辦法追溯太多前後文。不管他們所遇到的困難為何,保持網頁中每一個小單元的自給自足,總是能有所幫助,也能讓你的網頁更有親和力。

第四個原則,也是本文所要講解的最後一點:小心處理表情符號跟非正式書寫模式。有一些文字其實不是真的文字,而是圖案;例如:

XD
:)
:-p
^_^

orz

這些被稱做「表情符號」(或「顏文字」)的東西,其實是借用 ASCII 字符的形狀,所拼湊出來的圖案。另外在網路書寫中,也常常會看到用來表達情緒、動作或內心狀況的註記,例如:

*心*
*茶*
(笑)

這些都不是符合正式語境中的自然語言用法;要判定這件事相當地容易:把這些內容大聲地朗讀出來,然後你就應該會知道了。當然,如果哪一天,我們使用的語言演變成,日常對話中充斥著:

「我哪有這麼呆,笑」
「那時我真的很大於底線小於」

那麼這大概就不是個問題了(例如日文在這方面就演變得比較快……)。不過在那一天到來前,除非你所設定的網站目標讀者明確能接受這樣的對話出現,否則你都該小心處理這樣的內容。

最簡單的處理方法,就是避免使用。真的要用表情符號或表態註記時,它們其實可以被當作是某種縮寫,所以你應該用 <abbr> 標籤來標記,並使用 title 屬性來替它們撰寫較正式的用語⸺別忘了,這段用語應該要在情境中及情境外都有足夠且合宜的意義。例如在前面的兩個範例中,分別用「<abbr title="說著說著,我就笑了出來">」跟「<abbr title="難堪">」標籤來標記縮寫,那麼讀者不論是讀到或聽到這些內容,就都能夠理解其意義,並感受到撰寫者所要表達的情緒:

「我哪有這麼呆。說著說著,我就笑了出來」
「那時我真的很難堪」

各位閱讀至此,可能會發現本文所涵蓋的親和力怎麼很像是作文技巧?因為,的確,作文技巧會影響到文章的親和力,影響到網頁內容的親和力。對於許多撰寫程式或視覺設計起家的網頁設計師來說,這恐怕會是艱辛的一步;但是請務必理解,這些原則卻也是讓你的努力免於浪費的關鍵,所以絕對值得各位花時間下功夫。畢竟,網頁是要給人來使用的,自然該從人的角度,仔細看待網頁內容的細節。

同時,當各位能掌握到這些網頁內容細節時,這些掌握也將回饋到你原本的工作中,讓你能夠更精巧、纖細地處理網頁內容,而做出更細緻動人的設計。

jedi.org: