Правильный курсор на активных элементах

На всех ак­тив­ных эле­мен­тах по на­ве­де­нию дол­жен ме­нять­ся кур­сор. В боль­шин­стве слу­ча­ев это бу­дет cur­sor: pointer.

Под ак­тив­ны­ми эле­мен­та­ми под­ра­зу­ме­ва­ют­ся ссыл­ки, кноп­ки, се­лек­ты, лейб­лы вме­сте с чек­бок­са­ми или ра­диокноп­ка­ми и дру­гие ана­ло­гич­ные эле­менты.

«Ак­тив­ны­ми» та­кие эле­мен­ты долж­ны на­зы­вать­ся, ко­гда на­жа­тие на по­доб­ный эле­мент вы­зы­ва­ет ка­кое-либо дей­ствие. Та­ким об­ра­зом, ве­ду­щий на те­ку­щую стра­ни­цу пункт меню, вы­бран­ная ра­диокноп­ка или за­ди­зей­б­лен­ные кноп­ки и ссыл­ки —не ак­тив­ные эле­мен­ты, и по на­ве­де­нию на них ни­че­го не долж­но ме­няться.

Мне ка­за­лось, что это пра­ви­ло оче­вид­но, од­на­ко, ока­за­лось, что очень мно­гие раз­ра­бот­чи­ки счи­та­ют ина­че. Вни­ма­тель­но про­чи­тав все точ­ки зре­ния, я так и не на­шёл ни од­но­го се­рьёз­но­го ар­гу­мен­та про­тив до­бав­ле­ния сме­ны кур­со­ра по хо­ве­ру всем ак­тив­ным эле­ментам.

В этой ста­тье я сна­ча­ла рас­пи­шу свои ар­гу­мен­ты за, по­сле чего прой­дусь по ар­гу­мен­там про­тив, объ­яс­няя, по­че­му же этих ар­гу­мен­тов ока­за­лось недо­ста­точ­но что­бы меня пе­ре­убедить.

Преимущества использования cursor:pointer

Обратная связь

Лич­но для меня ос­нов­ная поль­за от сме­ны кур­со­ра —об­рат­ная связь. В иде­а­ле у ка­стом­ных эле­мен­тов долж­но быть про­пи­са­но со­сто­я­ние при на­ве­де­нии. Ска­жем, под­свет­ка фона или сме­на цве­та тек­ста. Но в ре­аль­ной жиз­ни по­доб­ное из­ме­не­ние мо­жет или во­все от­сут­ство­вать (ди­зай­нер не на­ри­со­вал, а вер­сталь­щик не по­ду­мал), или быть не осо­бо за­мет­ным, не при­выч­ным или сра­ба­ты­вать не мо­мен­таль­но. Та­ким об­ра­зом, об­рат­ной свя­зи мо­жет или не быть, или она бу­дет не со­всем оче­видна.

Из­ме­не­ние же кур­со­ра —все­гда мо­мен­таль­но и оди­на­ко­во. Клик, сле­ду­ю­щий за на­ве­де­ни­ем, бу­дет ин­ту­и­тив­ным, то­гда как в про­тив­ном слу­чае моз­гу при­дёт­ся либо со­по­ста­вить по­ло­же­ние кур­со­ра с эле­мен­том, либо рас­по­знать из­ме­не­ние и трак­то­вать его как на­ве­де­ние на ак­тив­ную об­ласть нуж­но­го эле­мента.

Из­ме­не­ние кур­со­ра —са­мая есте­ствен­ная, за­мет­ная и по­нят­ная об­рат­ная связь, ко­то­рая мо­жет быть в ин­тер­фейсе.

Определение границ активной области

Во мно­гих слу­ча­ях име­ет смысл под­ска­зы­вать поль­зо­ва­те­лям о том, что «вот уже сей­час мож­но на­жать». Ча­сто мож­но за­хо­теть уве­ли­чить кли­ка­бель­ную об­ласть для тех или иных эле­мен­тов, на­при­мер для ка­кой-ни­будь неболь­шой икон­ки или пунк­тов меню, на­хо­дя­щим­ся по кра­ям экра­на. В этом слу­чае до­бав­ле­ние ме­ня­ю­ще­го­ся кур­со­ра рас­ска­жет поль­зо­ва­те­лям о том, ко­гда уже мож­но на­жать на тот или иной элемент.

В неко­то­рых слу­ча­ях, ко­гда несколь­ко эле­мен­тов бу­дут на­хо­дить­ся ря­дом, од­ной сме­ны кур­со­ра не бу­дет до­ста­точ­но для того, что­бы ска­зать над ка­ким эле­мен­том на­хо­дит­ся кур­сор —в этом слу­чае нуж­но ме­нять ещё и ви­зу­аль­ное отоб­ра­же­ние со­от­вет­ству­ю­ще­го эле­мен­та: ме­нять ему фон, цвет тек­ста или что-то ещё. Но это по­лез­но де­лать в лю­бом случае.

Так или ина­че, если под­ска­зать поль­зо­ва­те­лям о том, ко­гда мож­но ис­поль­зо­вать тот или иной ак­тив­ный эле­мент, поль­зо­ва­те­ли при­вык­нут к это­му, и в сле­ду­ю­щий раз при ис­поль­зо­ва­нии ин­тер­фей­са им при­дёт­ся мень­ше це­лить­ся —они бу­дет при­мер­но пред­став­лять, где на­хо­дят­ся гра­ни­цы об­ла­сти, в ко­то­рую им нуж­но клик­нуть. Ведя в сто­ро­ну эле­мен­та кур­сор, поль­зо­ва­те­лям до­ста­точ­но бу­дет клик­нуть то­гда, ко­гда кур­сор ока­жет­ся око­ло эле­мен­та. В про­тив­ном слу­чае, для кли­ка, на­при­мер, по ма­лень­кой икон­ке или чек­бок­су, поль­зо­ва­те­лям при­дёт­ся каж­дый раз це­лить­ся в мень­шую об­ласть.

Кста­ти, кто-то мо­жет утвер­ждать то, что об­ласть кли­ка долж­на про­хо­дить по ви­зу­аль­ным гра­ни­цам эле­мен­та, но я могу с этим по­спо­рить, хотя это уже тема для от­дель­ной статьи.

Аргументы против смены курсора

Как бы я ни ис­кал, я не смог най­ти до­стой­ных ар­гу­мен­тов про­тив сме­ны кур­со­ра над ак­тив­ны­ми эле­мен­та­ми. Боль­шая часть най­ден­ных контр­ар­гу­мен­тов мож­но опи­сать фра­зой «не нуж­но ло­мать поль­зо­ва­тель­ские при­выч­ки».

Нач­ну с того, что рас­смат­ри­вать при­выч­ки в ка­че­стве ар­гу­мен­та —нель­зя. При­выч­ка —это все­го лишь знак того, что ка­кой-либо из ва­ри­ан­тов был ко­гда-то, по ка­ким-то при­чи­нам, вы­бран и ис­поль­зо­вал­ся опре­де­лён­ной груп­пой поль­зо­ва­те­лей чаще дру­гих. При­выч­ка мо­жет быть важ­на толь­ко в кон­тек­сте того, что по­вле­чёт её на­ру­ше­ние, бу­дет ли оно де­струк­тив­ным или все­го лишь вы­зо­вет неболь­шой дис­ком­форт на вре­мя от­вы­ка­ния от неё.

Даль­ше надо сра­зу от­ме­тить, что не все при­выч­ки по­лез­ные. Если идти на по­во­ду у поль­зо­ва­те­лей и да­вать им толь­ко то, к чему они при­вык­ли, то про­гресс оста­но­вит­ся. Ча­сто у поль­зо­ва­те­лей фор­ми­ру­ют­ся при­выч­ки, ко­то­рые им толь­ко ме­ша­ют. В ка­че­стве до­воль­но яр­ко­го при­ме­ра по­доб­ной при­выч­ки мож­но взять под­пи­си к чек­бок­сам или ра­диокноп­кам. Ле­ни­вые раз­ра­бот­чи­ки го­да­ми за­бы­ва­ли свя­зы­вать текст и со­от­вет­ству­ю­щие кон­тро­лы, из-за чего поль­зо­ва­те­ли обыч­но даже и не пы­та­ют­ся кли­кать на текст, тра­тя своё вре­мя и уси­лия на по­пыт­ки по­пасть по ма­лень­ким об­ла­стям кон­тро­лов. Это от­лич­ный при­мер по­че­му име­ет смысл не про­сто свя­зать кон­трол с лей­б­лом, но и все­ми до­ступ­ны­ми спо­со­ба­ми рас­ска­зать об этом поль­зо­ва­телю.

Ар­гу­мен­ты «по при­выч­ке» мож­но раз­де­лить на несколь­ко ка­те­го­рий. Я по­про­бую от­ве­тить на наи­бо­лее ча­сто ис­поль­зу­е­мые ар­гу­мен­ты про­тив сме­ны кур­со­ра над ак­тив­ны­ми об­ла­стями.

«В ОС используется обычный курсор»

В опе­ра­ци­он­ных си­сте­мах пре­об­ла­да­ю­щий кур­сор —обыч­ная стрел­ка. Кур­сор над кноп­ка­ми или дру­ги­ми эле­мен­та­ми форм обыч­но не ме­ня­ет­ся при на­ве­де­нии. Од­на­ко, тут сто­ит за­дать­ся во­про­сом: а хо­ро­шо ли это? При­выч­но —да. Но удоб­но ли? Я бы не от­ка­зал­ся от бо­лее яв­ной об­рат­ной свя­зи во мно­гих де­ск­топ­ных при­ло­же­ни­ях —очень ча­сто раз­ра­бот­чи­ки со­всем за­бы­ва­ют про хо­вер и при­хо­дит­ся до­га­ды­вать­ся о кли­ка­бель­ной об­ла­сти на­угад.

Кста­ти, если го­во­рить про де­ск­топ, то сто­ит упо­мя­нуть и та­кой ча­стую раз­но­вид­ность при­ло­же­ний как игры. В иг­рах кур­сор по­чти все­гда ка­стом­ный, и очень ча­сто имен­но он ме­ня­ет­ся при на­ве­де­нии на раз­лич­ные ак­тив­ные об­ла­сти. Мож­но про­ве­сти па­рал­ле­ли меж­ду иг­ра­ми и веб-при­ло­же­ни­я­ми —и, дей­стви­тель­но, в веб-при­ло­же­ни­ях всё чаще мож­но встре­тить ис­поль­зо­ва­ние раз­лич­ных спе­ци­аль­ных кур­со­ров —для из­ме­не­ния раз­ме­ров эле­мен­тов или для их пе­ре­тас­ки­ва­ния. Так по­че­му же в этом слу­чае дру­гие ак­тив­ные эле­мен­ты долж­ны иметь стан­дарт­ный кур­сор? Раз спе­ци­аль­но­го кур­со­ра для «кно­пок», «се­лек­тов» или «чек­бок­сов» нет, то к кноп­кам по­дой­дёт cur­sor: pointer, ра­нее ис­поль­зо­вав­ший­ся толь­ко для ссы­лок. Прав­да, слу­чай с чек­бок­са­ми и ра­диокноп­ка­ми немно­го осо­бый: если во­круг них, с под­пи­сью, по хо­ве­ру ме­ня­ет­ся фон, то кур­сор-руку мож­но и не до­бав­лять. Од­на­ко, надо не за­быть сме­нить кур­сор для со­про­во­ди­тель­но­го тек­ста на de­fault, ведь кур­сор-стрел­ка как раз чаще все­го ис­поль­зу­ет­ся для вы­бо­ра эле­мен­тов. Но вот если вы­бор чек­бок­са или ра­диокноп­ки вы­зо­вет ка­кие-то из­ме­не­ния на стра­ни­це (ска­жем, рас­кры­тие ча­сти ак­кор­део­на), мож­но до­ба­вить и кур­сор-руку для того, что­бы ска­зать поль­зо­ва­те­лям о том, что «сей­час что-то про­изой­дёт».

«Я вижу курсор —считаю это ссылкой»

Этот ар­гу­мент та­к­же встре­ча­ет­ся до­воль­но ча­сто. Рань­ше, ко­гда веб-при­ло­же­ний ещё не было, все сай­ты были все­го лишь свя­зан­ные ссыл­ка­ми до­ку­мен­ты. В при­ло­же­ни­ях по­доб­ных свя­зей по­чти не было, но в HTML со­от­вет­ству­ю­щий эле­мент при­ш­лось до­ба­вить, и про него надо было как-то рас­ска­зать поль­зо­ва­те­лям. Это сде­ла­ли до­бав­ле­ни­ем под­чёр­ки­ва­ния, си­не­го цве­та и кур­со­ра. При этом, для кно­пок и про­чих эле­мен­тов ис­поль­зо­ва­лись си­стем­ные кон­тро­лы, и ни­ка­ко­го до­пол­ни­тель­но­го по­ве­де­ния для них не до­ба­вили.

Шли годы, сай­ты ста­но­ви­лись всё на­сы­щен­нее, на стра­ни­цах по­яв­ля­лись раз­ные ка­стом­ные эле­мен­ты, в том чис­ле и ссыл­ки, сти­ли­зо­ван­ные под кноп­ки. И, в боль­шин­стве слу­ча­ев, ни­кто не уби­рал ссы­лоч­ное по­ве­де­ние —и на та­ких кноп­ках сме­на кур­со­ра оста­ва­лась. Если сей­час по­смот­реть на боль­шин­ство по­доб­ных ка­стом­ных кно­пок, сде­лан­ных ссыл­ка­ми, на них всех оста­лось по­ве­де­ние ссылок.

«Ссылку можно открыть в новом окне и вызвать для неё контекстное меню»

Ну да —ссыл­ка это не кноп­ка, а кноп­ка —не ссыл­ка. Но из это­го не сле­ду­ет, что по­ве­де­ние кно­пок и ссы­лок по на­ве­де­нию долж­но от­ли­чаться.

Ни­кто не бу­дет ожи­дать у кно­пок воз­мож­но­стей от­крыть в но­вом окне или ско­пи­ро­вать ад­рес. В каж­дом слу­чае и кноп­ка, и ссыл­ка бу­дут иметь свой кон­текст, в ко­то­ром поль­зо­ва­те­ли мо­гут или ожи­дать по­ве­де­ния ссыл­ки, или же это­го не ожи­дать. Неваж­но ка­кой бу­дет в этом слу­чае кур­сор —если поль­зо­ва­те­ли уви­дят кур­сор в кон­тек­сте ссыл­ки (а мно­гие ди­зай­не­ры сей­час чуть ли не всё ри­су­ют в виде кно­пок), они бу­дет об­ра­щать­ся с ней как с ссыл­кой не за­ду­мы­ва­ясь. И, на­о­бо­рот, если там бу­дет кноп­ка, а поль­зо­ва­те­ли не бу­дет ожи­дать ссыл­ки, всё бу­дет в по­ряд­ке. Если они за­хо­тят при­кре­пить файл —их не сму­тит, что там, вне­зап­но, кур­сор-рука. Если они за­хо­тят най­ти что-то че­рез по­ис­ко­вую фор­му, их не сму­тит, что там на кноп­ке из­ме­нил­ся кур­сор. Они про­сто на неё на­жмут. Поль­зо­ва­те­ли мо­гут воз­му­тить­ся раз­ве что в слу­ча­ях ко­гда кноп­ка бу­дет за­мас­ки­ро­ва­на под ссыл­ку, не на­хо­дясь при этом в кон­тек­сте формы.

Даль­ше —боль­ше. Очень ча­сто мож­но встре­тить ссыл­ки, ко­то­рые не яв­ля­ют­ся ссыл­ка­ми —я по­че­му-то не слы­шал воз­му­ще­ний на­счёт того, что у по­доб­ных псев­до-ссы­лок ме­ня­ет­ся по на­ве­де­нию кур­сор. Раз­лич­ные вы­па­душ­ки, филь­тры, рас­кры­ваш­ки ка­тов, за­кры­ва­ю­щие кре­сти­ки, ссыл­ки «от­ме­на» —на мно­гих сай­тах мож­но най­ти огром­ное чис­ло эле­мен­тов с из­ме­нён­ным по­ве­де­ни­ем, но вез­де на по­доб­ных эле­мен­тах оста­ёт­ся сме­на кур­со­ра по на­ве­де­нию. По­че­му бы в этом слу­чае не до­ба­вить кур­сор к кноп­ке или се­лек­ту, чем они бу­дет от­ли­чать­ся от всех этих эле­ментов?

Кста­ти, вот от­лич­ный при­мер пе­ре­до­во­го сер­ви­са г+:

Иллюстрация с различными кликабельными областями

Если хо­ти­те, мо­же­те по­про­бо­вать до­га­дать­ся, ка­кие из от­ме­чен­ных циф­ра­ми эле­мен­тов из­на­чаль­но яв­ля­ют­ся ссыл­ка­ми, ка­кие нет; у ка­ких есть кур­сор-по­ин­тер, а у ка­ких —нет. И что во­об­ще про­изой­дёт если на тот или иной эле­мент на­ве­сти кур­сор, а по­том и на­жать. Чуть поз­же я дам от­вет, а пока про­должу.

Если пря­мо­ли­ней­но го­во­рить, что «всё, у чего есть href —долж­но иметь кур­сор-по­ин­тер, а то, у чего нет —не долж­но», то мо­гут воз­ник­нуть некра­си­вые про­ти­во­ре­чи­вые слу­чаи: в раз­ных ме­стах ви­зу­аль­но кноп­кой мо­жет быть сде­ла­на и ссыл­ка. Если у та­ких эле­мен­тов бу­дет раз­ли­чать­ся по­ве­де­ние по хо­ве­ру, то это бу­дет сму­щать поль­зо­ва­те­лей боль­ше, чем если бы у них было лю­бое, но оди­на­ко­вое по­ве­де­ние. Дру­гой слу­чай —ко­гда ря­дом на­хо­дят­ся и кноп­ка (but­ton или in­put), и псев­до-ссыл­ка. На­при­мер, ча­сто де­ла­ют по­па­пы с кноп­кой «Ок» и ссыл­кой «от­ме­на». Тут по­лу­ча­ет­ся так, что у кноп­ки кур­со­ра нет, а у ссыл­ки (ко­то­рая ссыл­кой толь­ко при­тво­ря­ет­ся) —кур­сор есть. Я счи­таю, что по­доб­ные неод­но­род­но­сти толь­ко ме­ша­ют. Но из двух ва­ри­ан­тов при­ве­де­ния к об­ще­му зна­ме­на­те­лю кто вы­бе­рет от­сут­ствие кур­со­ра по хо­ве­ру у ссылки?

Те­перь рас­смот­рим си­ту­а­цию с от­клю­чён­ным со­сто­я­ни­ем. Что, если мы за­ди­зей­б­лим ка­кую-то кноп­ку? Она пе­ре­ста­нет на­жи­мать­ся. А если за­ди­зей­б­лим ссыл­ку? По-хо­ро­ше­му, мы долж­ны бу­дем убрать и кур­сор. Пред­ста­вим: сна­ча­ла поль­зо­ва­те­ли стал­ки­ва­ют­ся с за­ди­зей­б­лен­ной ссыл­кой без кур­со­ра, по­том ка­ким-то дей­стви­ем её раз­ди­зей­б­ли­ва­ют и ви­дят сме­нив­ший­ся кур­сор. По­том где-то в ин­тер­фей­се поль­зо­ва­те­ли ви­дят ка­стом­ную се­рую кноп­ку без кур­со­ра —как в этом слу­чае поль­зо­ва­те­лям по­нять, что она не за­ди­зей­б­ленна?

В ито­ге мож­но со­брать мно­же­ство при­ме­ров кон­флик­тов кно­пок, ссы­лок, их со­сто­я­ний и по­ве­де­ния. По­доб­ные раз­но­гла­сия бу­дут воз­ни­кать толь­ко в слу­ча­ях ко­гда кур­сор ме­ня­ет­ся стро­го у эле­мен­тов-ссы­лок, если же при­рав­нять сме­ну кур­со­ра к лю­бой смене со­сто­я­ния (ко­гда ло­гич­но было бы ме­нять фон/​​цвет/​​что-то ещё), то этих про­блем не будет.

Вер­нём­ся к ил­лю­стра­ции из г+:

Иллюстрация с различными кликабельными областями

Итак, спи­сок с разъ­яс­не­ни­я­ми где ка­кой элемент:

  1. Пер­ма­линк по­ста, ок. Ссыл­ка есть, по на­ве­де­нию по­яв­ля­ют­ся под­чёр­ки­ва­ние и курсор.

  2. Это во­все не ссыл­ка, про­сто текст :)

  3. Это псев­дос­сыл­ка, ссыл­ки нет, по хо­ве­ру —и под­чёр­ки­ва­ние и кур­сор. По кли­ку по­явит­ся дроп­даун.

  4. Ана­ло­гич­но —про­сто кон­трол, без ссыл­ки, по хо­ве­ру ме­ня­ют­ся цвет и курсор.

  5. Опять не ссыл­ка. В этом снип­пе­те ссыл­кой яв­ля­ют­ся толь­ко за­го­ло­вок и кар­тинка.

  6. Тут и юзер­пик, и имя —ссыл­ки. Две, не свя­зан­ные, но ве­ду­щие в одно ме­сто, на обе­их ме­ня­ет­ся кур­сор по хо­ве­ру, у тек­ста по­яв­ля­ет­ся под­чёр­ки­вание.

  7. Псев­дос­сыл­ка —без хре­фа. Как по­ло­же­но, по­яв­ля­ет­ся под­чёр­ки­ва­ние и ме­ня­ет­ся курсор.

  8. Ка­за­лось бы —кноп­ка. По хо­ве­ру кур­сор не ме­ня­ет­ся, но —вне­зап­но —по­яв­ля­ет­ся вы­па­душ­ка. По хо­веру.

  9. Ок, до­пу­стим, «си­стем­ный» эле­мент (хоть и ка­стом­ный) —кноп­ка —не име­ет кур­со­ра. Но по­след­ним эле­мен­том тут обо­зна­чен чек­бокс (ко­то­рый тоже, по той же ло­ги­ке, «си­стем­ный») с под­пи­сью. Но тут, вне­зап­но, хоть ссыл­ки-то и нет, кур­сор по хо­ве­ру ме­ня­ет­ся. Плюс еле за­мет­но под­све­чи­ва­ет­ся чекбокс.

Что тут мож­но ска­зать? Ни­ка­кой по­сле­до­ва­тель­но­сти, куча ин­тер­фейс­ных оши­бок и от­сут­ствие кур­со­ра на кноп­ке. Вы­во­ды мо­же­те сде­лать сами.

Во­об­ще, очень ин­те­рес­но хо­дить по раз­ным сер­ви­сам раз­лич­ных ком­па­ний и под­ме­чать по­доб­ные мо­мен­ты —ни­кто не без­гре­шен и все­гда мож­но най­ти к чему при­драть­ся, но, в ко­неч­ном счё­те, если всё вни­ма­тель­но ана­ли­зи­ро­вать, то ста­но­вит­ся ясно ка­кой эле­мент для чего пред­на­зна­чен и нуж­но ли что-то с ним де­лать по хо­веру.

«В спецификации написано…»

Se­lenIT при­во­дит та­кой ар­гу­мент, что в спе­ци­фи­ка­ци­ях CSS2.1 и CSS3 Ba­sic UI ска­за­но: «The cur­sor is a pointer that in­di­cates a link». Кро­ме того, он ссы­ла­ет­ся на со­об­ще­ние Же­ра­ра Таль­бо, в ко­то­ром он от­ка­зы­ва­ет в из­ме­не­нии од­но­го из те­стов к CSS 2.1. Од­на­ко, вряд ли по­доб­ное со­об­ще­ние мож­но как-либо трак­то­вать в поль­зу от­сут­ствия кур­со­ра у кно­пок. Кон­текст со­об­ще­ния —те­сты к спе­ци­фи­ка­ци­ям, и если в спе­ци­фи­ка­ции на­пи­са­но о том, что «кур­сор-по­ин­тер ука­зы­ва­ет на ссыл­ку», то это долж­но и в те­стах зна­чить толь­ко это.

В спе­ци­фи­ка­ции не ска­за­но, что этот кур­сор не мо­жет ис­поль­зо­вать­ся для чего-либо ещё. Ука­за­но, ско­рее, его при­ме­не­ние по умол­ча­нию. На ме­сте раз­ра­бот­чи­ков спе­ци­фи­ка­ций я бы из­ме­нил этот мо­мент на «The cur­sor is a pointer that in­di­cates an el­e­ment that can be clicked» (по ана­ло­гии с тем, что пред­ла­га­лось в те­сте) или ана­ло­гич­ное, бо­лее об­щее, вы­ска­зы­вание.

Это ме­сто в спе­ци­фи­ка­ции так и тя­нет­ся как ми­ни­мум с 1997 года, но веб с того вре­ме­ни силь­но из­ме­нил­ся и уже нель­зя го­во­рить о том, что «кур­сор-ука­за­тель ука­зы­ва­ет на ссыл­ку», фак­ти­че­ски его уже очень ча­сто ис­поль­зу­ют и для мно­гих дру­гих эле­ментов.

«Мерцание»

Мне тут под­ска­за­ли ещё один ар­гу­мент: если на стра­ни­це мно­го ак­тив­ных эле­мен­тов, то при пе­ре­ме­ще­нии кур­сор бу­дет по­сто­ян­но «мер­цать», ме­няя со­сто­я­ние с обыч­но­го на по­интер.

Но та­кой ар­гу­мент —не про­бле­ма кур­со­ра на ак­тив­ных эле­мен­тах. «Мер­ца­ние» кур­со­ра бу­дет все­го лишь симп­то­мом, а про­бле­мы мо­гут быть сле­ду­ю­щими:

  1. Ак­тив­ные эле­мен­ты мо­гут быть рас­по­ло­же­ны не вплот­ную друг к дру­гу. В этом слу­чае, во-пер­вых, поль­зо­ва­те­лям бу­дет слож­нее по­пасть по нуж­но­му эле­мен­ту, во-вто­рых, «мер­ца­ние», ско­рее все­го, бу­дет про­яв­лять­ся не толь­ко в смене кур­со­ра, но и в смене фона, тек­ста, или чего-то ещё. По-хо­ро­ше­му, все од­но­род­ные ак­тив­ные об­ла­сти эле­мен­тов долж­ны на­хо­дить­ся как мож­но бли­же друг к другу.

  2. Дру­гая, бо­лее ред­кая, про­бле­ма —за­хлам­лён­ность ин­тер­фей­са. Если у вас вся стра­ни­ца уты­ка­на все­воз­мож­ны­ми ак­тив­ны­ми эле­мен­та­ми, то это зна­чит, что пора за­ду­мать­ся все ли они тут нуж­ны пря­мо сей­час, и не сто­ит ли что-то упро­стить или упо­ря­дочить.

Итого

Если рас­смат­ри­вать иде­аль­ную си­ту­а­цию, то каж­дый эле­мент дол­жен как-то ме­нять­ся по хо­ве­ру, под­ска­зы­вая, что с ним мож­но вза­и­мо­дей­ство­вать. Но даже в этом слу­чае нуж­но ме­нять по хо­ве­ру и кур­сор —ина­че ино­гда мо­гут воз­ник­нуть неод­но­знач­но­сти в ин­тер­фей­се. Сме­ны кур­со­ра, при этом, ча­сто бу­дет до­ста­точ­но для того, что­бы хоть немно­го, но улуч­шить ин­тер­фейс —если ди­зай­нер на­ри­со­вал ка­кой-то кон­трол, ко­то­рый вы­гля­дит не осо­бо кли­ка­бель­ным, то до­бав­ле­ние сме­ны кур­со­ра немно­го этот мо­мент ис­пра­вит (но луч­ше по­сле это­го всё рав­но на­пи­сать об этой про­бле­ме ди­зай­не­рам, что­бы они на­ри­со­вал бо­лее по­нят­ное со­сто­я­ние).

Ну а ка­ких-то кри­тич­ных недо­стат­ков у до­бав­ле­ния кур­со­ра по хо­ве­ру про­сто нет —даже если ка­ких-то поль­зо­ва­те­лей это мо­жет немно­го сму­щать —бóль­ше­му чис­лу поль­зо­ва­те­лей это об­лег­чит жизнь.

Да, ко­неч­но, если у кого-то есть чем до­пол­нить или опро­верг­нуть часть вы­ска­зан­ных мной утвер­жде­ний —кон­крет­ные циф­ры, за­ме­ры и ар­гу­мен­ты при­вет­ству­ют­ся. Все ме­ста, где я пишу о том, что «кому-то это об­лег­чит жизнь» —чи­сто умо­зри­тель­ные и не под­твеж­дён­ные циф­ра­ми. Но всё го­во­рит за то, что так оно и есть —так что спо­рить с этим мож­но толь­ко по­сле A/​​B-те­сти­ро­ва­ния и срав­не­ния его ре­зуль­татов.

Ссылки

  • За­мет­ка Кри­са Кой­е­ра о том, как до­ба­вить ссыл­ки кли­ка­бель­ным эле­мен­там.

    В ком­мен­та­ри­ях при­во­дят­ся всё те же до­во­ды про при­выч­ки и опе­ра­ци­он­ные си­сте­мы, плюс кон­сер­ва­тив­ные, не под­креп­лён­ные ар­гу­мен­та­ми взгля­ды на то, что толь­ко ссыл­ки долж­ны иметь кур­сор-по­интер.

  • За­мет­ка Дмит­рия Фа­де­е­ва про со­от­вет­ствие кур­со­ра

    В этой за­мет­ке Дмит­рий при­хо­дит к за­клю­че­нию «Если тип кур­со­ра невер­ный, то нуж­но за­да­вать его, ис­поль­зуя CSS-свой­ства cur­sor», при­во­дя в при­мер ка­стом­ные кноп­ки и плей­с­хол­де­ры для ин­путов.

  • Слай­ды до­кла­да Ва­ди­ма Ма­ке­е­ва «Жми сюда!»

    До­клад боль­ше о том, что функ­ци­о­наль­ность эле­мен­та долж­на от­ра­жать­ся в ис­поль­зу­е­мых html-те­гах, но в од­ном ме­сте Ва­дим пи­шет про кноп­ку: «Де­лать лапу cur­sor:pointer со­всем не нуж­но» и не при­во­дит ни­ка­ких ар­гу­мен­тов в поль­зу это­го утвер­жде­ния. На­де­юсь, про­чи­тав эту ста­тью, Ва­дим или из­ме­нит свой взгляд по это­му во­про­су, или на­пи­шет ар­гу­мен­ты в поль­зу сво­е­го вы­ска­зы­вания.