UcallWeconn

Вытанчаныя дэградацыі


Original on http://webtips.dan.info/

The translation is provided by UcallWeconn S.M.B.A.



Парада: Няма нічога дрэннага ў выкарыстанні ўсіх апошніх навін для падтрымкі шырокіх магчымасцяў сучасных браўзараў, але неабходна зрабіць гэта такім чынам, каб карыстальнікам па-ранейшаму было б дазволена не падтрымліваць (ці наўмысна адключаць) гэтыя функцыі пры доступе да асноўнага ўтрымання. Да шчасця, гэта лёгка зрабіць на вэб-сайце, калі вы сочыце за мовай і пратаколамі, а не змагаецеся з імі.
"Вытанчаная дэградацыя" з'яўляецца важным прынцыпам вэб-дызайну. Гэта азначае, што калі вы выкладаеце магчымасці, распрацаваныя, каб скарыстацца навейшымі і самымі лепшымі магчымасцямі сучасных браўзараў, вы павінны рабіць гэта такім чынам, каб старыя браўзары і браўзары, якія дазваляюць карыстальнікам адключаць гэтыя асаблівасці, маглі "сысці" да метадаў, якія па-ранейшаму забяспечваюць доступ да асноўных утрыманняў сайтаў, якія ўжо маюць не такі кідкі вонкавы выгляд.
Амаль усе новыя функцыі, якія дадаюцца ў Інтэрнэце, былі распрацаваны такім чынам, каб дазваляць вытанчанай дэградацыі, якая пачынаецца з даданнем <IMG> тэг, дабаўляць графікі да ўсіх тэкстаў сайтаў, якія ўтрымоўваюць ALT атрыбуты, дазваляючыя забяспечыць альтэрнатыўны тэкст для не графічных браўзараў.
НАТАТКА: Калі б IMG тэгі былі вызначаны ў якасці кантэйнера элементаў з альтэрнатыўным кантэнтам паміж <IMG> і </IMG>, усё было б яшчэ больш вытанчаным. Гэта прывяло б да таго, што альтэрнатыўны кантэнт аўтаматычна б выкарыстоўваўся ў старых браўзарах, якія б не разумелі IMG, а таксама дазваляючы гэтаму ўтрыманню ўключаць разметкі тэгі; усё тое, што не ўяўляецца магчымым у ALT атрыбутах. Але зараз гэта проста, як вада пад мостам.
Новыя канструкцыі, такія як <APPLET> і <OBJECT>, дазваляюць забяспечыць вытанчаныя дэградацыі з дапамогай альтэрнатыўнага кантэнту паміж адкрытымі і зачыненымі тэгамі элемента. Усё, што знаходзіцца паміж <APPLET> і </APPLET> (акрамя іх параметраў), будзе ігнаравацца падтрымкай Java-браўзара; Java будзе уключаным, але будзе выкарыстоўвацца браўзарам замест прыкладання, якое не разумее Java і не ведае, як ён адключаецца. Гэта дазваляе забяспечыць сайт распрацоўшчыка альтэрнатыўнымі статычнымі малюнкамі і тэкстамі, якія таксама дазваляюць замяніць спасылкі на інфармацыю, прадстаўленую карыстачам, якія падтрымліваць яе ў форме прыкладання.
Вось прыклад прыкладання, якое было закадзіравана для вытанчанай дэградацыі:

 <APPLET CODE="WaveEffect" border=0 
 codebase="http://www.mysite.com/applets/" width=200 
 height=200"> <PARAM NAME=image VALUE="enternow.gif"> 
 <PARAM NAME=HREF VALUE="home.html"> <A HREF="home.html">
 <IMG SRC="enternow.gif" width=200
 height=200 alt="Enter my site now."></A> </APPLET>

Карыстальнік, які падтрымлівае Java, убачыць вынікі прыкладання "WaveEffect", якія, меркавана, будуць паказваць графічныя анімацыйныя эфекты і забяспечаць магчымасць дабрацца да злучаных URL, прыведзеных у "HREF" параметрах. Але не Java карыстальнікі не маюць магчымасці бачыць тое, што павінна было б быць там, ці атрымаць наперад на сайт, калі гэта быў адзіны спосаб навігацыйныі, за выключэннем альтэрнатыўных кантэнтаў. Гэта інфармацыя ўяўляе сабой звычайныя статычныя IMG тэгі, якія прадстаўлюць адну і тую ж графіку з не анімацыйнай выявай, гіперспасылкай на той жа старонцы, на якую прыкладанне дазволіць карыстальніку перайсці. І, у выпадку тэкставых браўзараў, ажыццяўляецца яшчэ адзін узровень вытанчанай дэградацыі ALT тэкстаў з малюнкамі.
У некаторых выпадках ёсць некалькі розных спосабаў дасягнуць такога ж эфекту, а таксама ёсць мноства браўзараў, якія падтрымліваюць адзін аднаго, але трохі адрозніваюцца; вы можаце дамагчыся максімальнай сумяшчальнасці, дасягнуўшы адразу ж некалькіх ўзроўняў, укладзеных кантрастаў, якія могуць быць вытанчанай дэградацыяй, як APPLET у EMBED ці ў OBJECT.
Ёсць таксама некалькі адмысловых тэгаў, якія дазваляюць уключаць утрыманне, якое выкарыстоўваецца толькі тады, калі група вызначаных функцый адсутнічае ці адключана. Напрыклад, NOSCRIPT элементы адлюстраваюцца толькі тады, калі JavaScript не падтрымліваецца ці адключана. Гэта можа быць карысна для забеспячэння альтэрнатыўных навігацый у месцах, дзе асноўны кантроль ажыццяўляецца ў JavaScript. Акрамя таго, NOEMBED элементы выкарыстоўваюцца толькі тады, калі EMBED не падтрымліваецца.
Каб зрабіць усе правільна, вам спатрэбіцца папрацаваць крыху больш, а гэта, ў сваю чаргу значна павялічвае даступнасць, гнуткасць і пошуковую індэксацыю старонак сайта.

Вытанчаная дэградацыя ва ўсплываючых вокнах JavaScript

Агульны эффект, які выкарыстоўваецца на шматлікіх старонках, з’яўляецца связваючым дакументам, які з'яўляецца ў выглядзе невялікага JavaScript усплываючага вакна. Калі вы выкарыстоўваеце гэты эфект, варта рабіць гэта разумна, бо гэта можа быць раздражняльным сродкам для шматлікіх карыстальнікаў. Тым не менш, ёсць выпадкі, калі гэта сапраўды карысна, напрыклад, калі выскокваюць даведкавыя матэрыялы для аказання дапамогі камусьці пры запаўненні вэб-формы, каб пакінуць старонку з формай (і, магчыма, не зможа вярнуцца да яе, калі ён мінае яе, губляючы дадзеныя, якія ўжо часткова ўведзены).
Часта распрацоўшчыкі робяць гэта з дапамогай javascript: URL. Гэта, на жаль, не так добра з пункту гледжання вытанчанай дэградацыі, паколькі без JavaScript-браўзара з падтрымкай мы не будзем ведаць наогул, што рабіць з такой сувязю. Акрамя таго, javascript: URL, насамрэч не адпаведае стандартам; я не ведаю якіх-небудзь афіцыйных спецыфікацый для гэтай канструкцыі, і яны часта ўтрымоўваюць знакі, якія не маюць права быць уключанымі (неэкранаваны) ў URL у залежнасці ад спецыфікацыі (напрыклад, прабелы).
Але ёсць лепшы шлях.
Замест

 <A HREF="javascript:YourPopupFunction('somefile.html')">,
Вык.
 <A HREF="somefile.html" onClick="YourPopupFunction
          ('somefile.html'); return false">.
 

(Я мяркую, вы вызначылі функцыі JavaScript YourPopupFunction дзесьці ў вашым дакуменце.) onClick атрыбуты ўтрымоўваюць код, які выконваецца (на аказанне падтрымкі браўзараў) пры націску спасылкі, а ў канцы return false чыннікам браўзара для прыпынку пасля гэтай аперацыі (замест таго, кааб выкарыстоўваць яго на наступных звычайных гіперспасылках). Такім чынам, ён мае сапраўды такі ж эфект, што і javascript: спасылка. (Звярніце ўвагу, што код onClick не пачынаецца з "JavaScript:", паколькі ён не мае выгляду URL.) Але без JavaScript-браўзара з падтрымкай onClick ігнаруе і звычайную сувязь прытрымлівання. Такім чынам, усе карыстальнікі працуюць, каб убачыць дакумент, на які вы змяшчаеце спасылкі.
Нататка: Завяршыўшы працу з вышэй напісаным, я высветліў, што некаторыя старыя браўзары ў ранніх рэалізацыях JavaScript не падтрымліваюць return false правільна і ў канчатковым выніку ўстанаўліваюць "простыя" ці ўсплываючыя спасылкі. Гэтага можна пазбегнуць з дапамогай,

 <A HREF="somefile.html" target="somename" 
onClick="newwin = window.open('', 'somename', 
'width=150,height=150,resizable=1');">

які адкрывае пустое вакно "SomeName", а затым дазваляе змясціць чарговую спасылку на яго мэту. Нумары для JavaScript браўзараў проста адкрываюць новае рэгулярнае вакно "SomeName", або ігнаруюць мэты і адкрываюць новыя старонкі ў зыходным вакне. Зрэшты, нават у апошні час, я выявіў, што браўзар Mozilla, нават калі ён наладжаны ігнараваць спробы адкрыцця новых вокнаў, будзе адкрываць усплываючыя вокны, а затым спасылкі прызначэння ў зыходным вакне, пакінуўшы ўсплываючае вакно адкрытым. Такім чынам, улічваючы ўсе акалічнасці, папярэдні прыклад кода, верагодна, лепшы.
Гэтыя метады могуць быць скарыстаны і ў іншых выпадках, калі вы жадаеце, каб спасылка выканала JavaScript код, напрыклад, спасылку mimicing браўзара "Назад" кнопку з history.back(). Але добра падумайце пра тое, ці сапраўды вам трэба выкарыстоўваць такія функцыі; карыстальнікі, хутчэй за ўсё, не будуць ведаць, што рабіць, калі ўбачаць спасылкі, што робяць рэчы, якія вяртаюцца назад, а не пераходзяць на наступную старонку, што спасылкі звычайна і робяць.
Парада : Заўсёды выкарыстоўвайце значныя, а не "фіктыўныя” HREF атрыбуты ў спасылках; нават калі гаворка ідзе пра асноўныя спасылкі для запуску скрыпта.
Я прашу вас, не выкарыстоўвайце нястрымную тэхніку стварэння гіперспасылак, каб перайсці да "мадэльных" HREF значэнняў "#", я не ведаю, хто гэта прыдумаў; але здаецца, што яны былі ажыццёўлены такім чынам у некаторых сродках распрацоўкі, якія генеруюць спасылкі з мудрагелістым JavaScript і пераймаюць адтуль усякія сайты, нават тыя, якія выкарыстоўваюць ручное кадзіраванне. Гэта дрэнная ідэя, бо як я вам паказаў вышэй, вы павінны зрабіць штосьці значнае ў вашай гіперспасылцы, каб яна была здольнай працаваць, нават калі JavaScript адключаны і, акрамя таго, так як "#" не вызначана ў якасці даведкавага URL, яно інтэрпрэтуецца рознымі версіямі браўзараў непаслядоўна і, магчыма, можа стаць чыннікам пераходу да верхняй ці ніжняй часткі бягучай старонкі ці дадаць дадатковыя бескарысныя спасылкі да старонкі сесіі браўзара. Прынамсі, калі вы павінны выкарыстоўваць такі фіктыўны HREF, пераканайцеся, што вы можаце спыніць вашу каманду JavaScript з дапамогай " return false "у мэтах прадухілення браўзара ад спробы працаваць з фіктыўнай спасылкай.

Вытанчаная дэградацыя ў пераходзячым меню

Яшчэ адзін папулярны эфект - атрымаць графічнае меню навігацыі, каб рабіць "эфект перакотвання", калі карыстальнік перасоўвае сваю мыш над элементамі, такімі як "асвятленне" ці "націсканне" кнопкі, якія з’яўляюцца ў наш час асноўнымі элементамі, ці паказвае дадатковую інфармацыю пра абраны элемент у даны момант, каб дапамагчы карыстачу вырашыць, пераходзіць да спасылкі ці не.
Ёсць "вытанчаныя" і "не-вытанчаныя" спосабы зрабіць гэта. "Не вытанчаны" шлях можа прывесці да навігацыі, дзе будзе поўны правал для карыстальнікаў, якія не падтрымліваюць (ці адключаны) такія рэчы, як Java, JavaScript ці Shockwave (у залежнасці ад перакульвання). З іншага боку, "вытанчанае" ажыццяўленне пакідае сайт цалкам суднаходным нават для браўзараў з "найменшымі агульнымі назоўнікамі". Таксама тут прадугледжана даданне дадатковых аксэсуараў для тых, хто іх падтрымлівае.
Прыклад кода для эфекта грацыёзна-зневажальнага перакульвання глядзі ніжэй. Разам з тым, акрамя вывучэння пэўных кодаў, вы павінны пазнаць агульнае стаўленне да гэтага і іншых грацыёзна-зневажальных метадаў распрацоўкі вэб-прыкладанняў. Гэта значыць, што выкарыстанне гуку, лагічных структур з простымі, шырока падтрыманнымі HTML канструкцыямі, а затым дадаванне "званкоў і свісткоў” у якасці факультатыўных дадаткаў, якія могуць быць праігнараваны без падтрымкі браўзараў. Супрацьлеглыя адносіны, ствараючыя недаступныя сайты, пропускаюць "гукавы, лагічны, просты" этапы і непасрэдную рэалізацыю жаданых вынікаў ў некаторых развітых мовах (Java, Shockwave і г.д.), скануючы код, які не ёсць нават "простая" HTML спасылка, таму што браўзары могуць вынікаць без запуску "прыкладання", "сцэнарыя", ці "падлучальнага модуля". Калі такія аўтары вырашылі, што яны павінны падтрымліваць "прасцейшыя" браўзары, яны ў канчатковым выніку прыліпання выродлівага мноства "альтэрнатыўных" тэкставых спасылак знаходзяцца ніжэй навігацыйнай  "фантазіі", якія не былі б неабходны, калі б яны, у першую чаргу, былі прызначаны для сайтаў з вытанчанай выявай.
Вось "вытанчаны " код перакульвання: (Нататка: У гэтым прыкладзе, "звычайная" версія навігацыйнай кнопкі павінна быць змешчана ў item1_reg.gif, item2_reg.gif і г.д., а " версія навядзення курсора мышы"- item1_over.gif, і г.д. Усе малюнкі павінны быць змешчаны ў падкаталогу gfx/, пад каталогам знаходзіцца старонка, а ўсе малюнкі маюць наступны памер - 250 х 50 пікселяў. Вядома, вы можаце змяніць тое, што неабходна для вашага ўласнага сайта.

 <html>
 <head>
 <title>Sample Rollover Page</title>
 <script language="JavaScript" type="text/javascript">
 <!-- hide this script from non-javascript-enabled browsers
 if (document.images) {
 item1_reg = new Image(250, 50); item1_reg.src = 'gfx/item1_reg.gif';
 item1_over = new Image(250, 50); item1_over.src = 'gfx/item1_over.gif';
 item2_reg = new Image(250, 50); item2_reg.src = 'gfx/item2_reg.gif';
 item2_over = new Image(250, 50); item2_over.src = 'gfx/item2_over.gif';
 item3_reg = new Image(250, 50); item3_reg.src = 'gfx/item3_reg.gif';
 item3_over = new Image(250, 50); item3_over.src = 'gfx/item3_over.gif';
 item4_reg = new Image(250, 50); item4_reg.src = 'gfx/item4_reg.gif';
 item4_over = new Image(250, 50); item4_over.src = 'gfx/item4_over.gif';
 }
 function rollover(id,name){
 if (document.images) {document.images[id].src=eval(name+".src"); }
 }
//stop hiding -->
 </script>
 <META http-equiv="Content-Script-Type" content="text/javascript">
 </head>
 <body>
 <P>
 <a href="item1/" onmouseout="rollover('item1','item1_reg');return false;" 
onmouseover="rollover('item1','item1_over');return false;"><img name="item1" 
src="gfx/item1_reg.gif" width="250" height="50" border="0" alt="[Item 1]"></a>
 <a href="item2/" onmouseout="rollover('item2','item2_reg');return false;" 
onmouseover="rollover('item2','item2_over');return false;"><img name="item2" 
src="gfx/item2_reg.gif" width="250" height="50" border="0" alt="[Item 2]"></a>
 <a href="item3/" onmouseout="rollover('item3','item3_reg');return false;" 
onmouseover="rollover('item3','item3_over');return false;"><img name="item3" 
src="gfx/item3_reg.gif" width="250" height="50" border="0" alt="[Item 3]"></a>
 <a href="item4/" onmouseout="rollover('item4','item4_reg');return false;" 
onmouseover="rollover('item4','item4_over');return false;"><img name="item4" 
src="gfx/item4_reg.gif" width="250" height="50" border="0" alt="[Item 4]"></a>
 </P>
 </body>
 </html>

Звярніце ўвагу на " if (document.images) ", які гарантуе, што толькі браўзары, якія выкарыстоўваюць версіі JavaScript, могуць апрацоўваць малюнкі (раннія рэалізацыі не могуць) і паспрабуюць папрацаваць з ім, прадухіляючы памылкі. І заўважце, што навігацыя малюнка мае ALT атрыбуты, якія ўтрымоўваюць пункт меню тэксту (змены "Пункт 1", "Пункт 2" і г.д., больш значныя імёны, даныя часткі сайта), так што нават у тэкставых браўзарах карыстальнік зможа па-ранейшаму добра арыентавацца. Я ведаю, вы можаце зрабіць эфект перакульвання яшчэ больш грацыёзным з дапамогай выкарыстання каскадных табліц стыляў, але гэта даволі старыя старонкі; пакуль я займаюся пераўтварэннем усяго гэтага сайта, ён будзе ўтрымоўваць некаторыя даволі састарэлыя рэчы.
Калі вы пакідаеце які-небудзь рэдактар ці карысную праграму стварэння "эфектаў перакульвання", пераканаецеся, што ён выкарыстоўвае грацыёзна-зневажальную тэхніку, падобную да прадстаўленых вышэй, пераканайцеся таксама, што вы паклалі адпаведныя ALT атрыбуты малюнка (зрабіце гэта ад рукі, калі праграма не ў стане даць вам магчымасць зрабіць гэта).

Кліент і формы сервераў

Калі ў вас ёсць форма, якая робіць карысныя рэчы з дапамогай функцый JavaScript, усё яшчэ магчыма, што яна можа пагоршыць жыцце карыстальнікаў, якія не маюць JavaScript; калі вы пераканаецеся, што яна ўяўляе сабой серверныя формы, якія выконваюць тыя ж функцыі, хоць і не так эфектыўна, як гэта можна было б зрабіць з боку кліента. Напрыклад, вэб-старонкі, дзе карыстальнік можа ўвесці суму свайго даходу за год, чакаемыя адсоткі ці дывідэнды, стаўку прыбытковасці высвятліць, колькі грошай яны атрымаюць, калі выйдуць на пенсію; гэта можа быць зроблена з JavaScript, што выклікае хуткае вылічэнне, якое не патрабуе, каб што-небудзь было прадстаўлена да сервера, але яно не працуе для карыстальнікаў з адключаным JavaScript. Гэта можна лёгка выправіць, маючы ўяўленні дзеянняў (у выпадку адсутнасці JavaScript) пайсці на скрыпт сервера, які выконвае тыя ж вылічэнні. Функцыя JavaScript "onsubmit" можа скончыцца "ілжывым вяртаннем", каб прадухіліць актывізацыю скрыпта сервера, калі яна не патрабуецца.
Калі ваша анкета прызначана для таго, каб прадставіць сервер, але вы ўсё яшчэ жадаеце выкарыстоўваць JavaScript функцыі, тады, каб пацвердзіць ці выправіць інфармацыю да яе прадстаўлення, вы павінны дубляваць крокі па праверцы і выпраўленні ў серверным скрыпце, каб яны не былі прапушчаны, калі JavaScript не ўключаны ці не даступны. Гэта важна зрабіць у мэтах бяспекі, бо які-небудзь шкоднасны хакер можа стварыць версію формы, што прапускае JavaScript праверкі, каб паспрабаваць увесці некарэктныя дадзеныя ў вашу праграму, так што яна павінна быць гатовай адсяваць такія рэчы. Некаторыя людзі на тэлеканферэнцыях задаюць няправільныя пытанні: "Як мне прымусіць маю форму не з'яўляецца для карыстальнікаў з адключаным JavaScript, таму што мой JavaScript неабходны для іх працы з праверкай?" Можна паспрабаваць зрабіць гэта, націснуўшы кнопку "Адправіць", тады ўсё будзе выводзіцца на JavaScript, замест звычайнага HTML, і не будзе з'яўляцца без скрыптаў з боку кліентаў. Гэта можа быць лёгкая перамога хакераў, якія могуць праглядаць зыходны і аднавіць форму без JavaScript уяўлення кнопкі, але створыць праблемы даступнасці для больш звычайных карыстальнікаў. Лепш для распрацоўкі сцэнарыяў сервера, так што яны добра працуюць з ці без дапамогі JavaScript.

Памылкі

Калі вы далучыцеся да HTML абмеркаванняў навін, вы, верагодна, убачыце, што хтосьці сцвярджае, што "вытанчаная дэградацыя" насамрэч прызначана рабіць сайты простымі, сумнымі з "найменшым агульным назоўнікам". Гэта далёка ад праўды. Людзі, якія кажуць гэта, насамрэч не разумеюць вытанчанай дэградацыі, ці проста спрабуюць зрабіць танныя выбрыкі супраць так, званых "пурыстаў", а не абмяркоўваць рацыянальныя выявы вэб-аўторынга. Насамрэч, вытанчаная дэградацыя не патрабуе, каб вы не выкарыстоўвалі фантазію ці што-небудзь прыгожае, не патрабуе яна таксама, каб вы станавіліся аўтарам састарэлых браўзераў. Яна проста патрабуе, каб вы зразумелі структуру ўсіх элементаў, якую вы выкарыстоўваеце, каб вы былі ў курсе і правільна выкарыстоўвалі ўбудаваныя функцыі, якія дазваляюць уключыць альтэрнатыўны кантэнт, даступны для карыстачоў, якія не могуць ці не будуць выкарыстоўваць уяўлены матэрыял.

Вытанчаная дэградацыі супраць паступовага падвышэння

У некаторых вэб-сайтах распрацоўшчыкаў ў  апошні час з’явіліся абмеркаванні пра адрозненне ў мысленні паміж "вытанчанай дэградацыяй" і "паступовым падвышэннем", якія насамрэч вельмі падобныя паняцці, але сапраўды ідуць у розных кірунках. У Вікіпедыі ёсць артыкулы пра паступовае пашырэнне і ў нас ёсць эсэ на гэту тэму. Асноўным адрозненнем з'яўляецца тое, што "паступовае падвышэнне"  пачынаецца з простага, лагічнага, сумяшчальнага набора размечанага змесціва, а затым выкарыстоўваецца  пласт пашыраных магчымасцяў для сучасных браўзараў на ім, тады як "вытанчаная дэградацыя" пачынаецца з поўнафункцыянальнага, прасунутага сайта, і гарантуе, што яно таксама будзе мець ўтрыманне, да якога можна атрымаць доступ, калі прадстаўленыя функцыі не працуюць для пэўнага карыстальніка. Па гэтых стандартах я выступаў і іх металітэт падыходзіць больш, чым PE GD, хоць я выкарыстоўваў GD тэрміналогію, таму што іншыя тэрміны не былі сфармуляваны ў той час. Ва ўсякім разе, калі зроблена па-майстэрску і прадумана з душой, тады метады павінны прывесці да з’яўлення вельмі падобных сайтаў.

Ганебны слуп

Зрабіце ваш сайт лепшым, гледзячы на іншыя сайты, якія паказваюць сваім прыкладам, што не трэба рабіць!
НАТАТКА: Уключэнне вашага сайта да маёй спасылцы "Зала ганьбы" не павінна разглядацца як які-небудзь асабісты напад на стваральніка сайтаў, які можа быць сапраўды вялікім чалавекам і нават напады на злучаныя вэб-сайты ў цэлым, якія могуць быць крыніцай вельмі карыснай інфармацыі і/ці забавак. Хутчэй, гэта зроблена проста для таго, каб вылучыць асаблівасці (наўмысныя ці выпадковыя) сайтаў, якія выклікаюць праблемы, якіх можна было б пазбегнуць з дапамогай лепшага дызайну. Калі вы знайшлі адзін з вашых сайтаў змешчаным тут, не крыўдзіцеся, паляпшайце свой сайт, каб мне прыйшлося зняць гэту спасылку!

  • Ніра скарыстана для падавання "Flash" і "Non-Flash" версій на першай старонцы, але "Non-Flash" версія яшчэ ў ім! Ён проста прапусціў "інтра" старонку, у якой яшчэ больш Flash. Зараз ён гэтага не зробіць, але ён дагэтуль мае Інтра, дзе магчымасць прапусціць прадстаўлена ў Flash; гэта азначае, што без падтрымкі Flash браўзары проста атрымаюць пустую старонку і не будуць мець магчымасці перайсці на іншы сайт. Інтра круціць адну і тую ж музыку ўвесь час, што вельмі раздражняе, але магчымасці спыніць яе няма.

Спасылкі

  • Якія ўзмацняюць Authoring - іншы погляд на вытанчаныя дэградацыі
  • Прыклад з серверамі і кліентскімі формамі: ён выкарыстоўвае JavaScript, калі ўключаны, калі не, тады форма пераходзіць да скрыпта сервера, які робіць тое ж дзеянне, што і JavaScript, такім чынам, прадстаўленая форма працуе для ўсіх.
  • Цуцумі - Мастацтва афармлення падарункаў у Інтэрнэце
  • Flash Satay - абмеркаванне спробы аднаго вэбмайстра стварыць адзіны стандартны і грацыёзна-зневажальны код для ўстаўкі Flash фільмаў
  • Дзесяць хуткіх тэстаў для праверкі даступнасці вашага сайта


Valid CSS Valid XHTML 1.0 Transitional

---