За замовчуванням, у всіх основних браузерах, при наведенні курсору мишки на текст на веб-сторінці, оно змінюється зі звичайного покажчика (курсора «за замовчуванням») на «текстовий» курсор. Ви можете спостерігати це на демонстраційному гіф-зображенні нижче або просто протестувавши це на майже будь-який веб-сторінці.
Точніше кажучи, технічно специфікація не вимагає , Щоб курсор «за замовчуванням» був за замовчуванням. Насправді, початкове значення властивості курсора - «auto», про це значення в специфікації сказано наступне: «Браузер сам визначає, визначає, який курсор відображати, в залежності від поточного контексту».
При визначенні значення «text» для властивості cursor специфікація пояснює: «Вказує текст, який може бути виділений. Найчастіше відображається, як l-образний текстовий курсор. »
Але, як ви напевно знаєте, це може бути перевизначених в CSS, тому ви можете відображати курсор, який захочете і в будь-який час. Зауважте, наприклад, на сайті SitePoint за допомогою CSS перевизначити поведінку курсора, який знаходиться над звичайним текстом.
На даний момент я не можу пригадати інший сайт, де зустрічається курсор, який при наведенні на текст не змінює своєї поведінки. Єдине, я пам'ятаю, що коли на "A List Apart" був редизайн сайту , Вони спочатку зробили точно так же, як зараз ми спостерігаємо на SitePoint, тобто іпользовать курсів у вигляді стрілки (за замовчуванням), але через деякий час повернули поведінку курсора назад, змінивши його на курсор за замовчуванням для текстів (у вигляді палички)
Яка поведінка правильне?
Якщо ви звернетеся до специфікації, то побачите, що «текстовий» курсор (вертикальний I-образний текстовий курсор) є правильним. І, якщо ви захочете дізнатися, до якого курсору звикли люди, то ви отримаєте таку саму відповідь, як і в специфікації - «текстовий» курсор.
Я думаю, що на даному етапі немає сенсу намагатися змінити те, як з цим справляються браузери і розробники. Тим більше всі браузери роблять це самостійно, в результаті чого найпростіше мати одне і теж поведінку практично скрізь - навіть якщо воно неправильне.
Але я не можу позбутися думки: чи не йде це врозріз з поведінкою звичайних додатків?
Тут це трапляється в кожному браузері, коли ми пересуваємо курсор в адресний рядок:
Це вийшло не тому що цей текст знаходиться в адресному рядку, а тому що це редагований текст. Як щодо інших місць в браузері Chrome, наприклад, на сторінці налаштувань:
Зауважте, що на сторінці налаштувань в браузері Chrome (яка є простою веб-сторінкою, всередині якої ви можете проінспектувати елемент і подивитися код) перевизначити дефолтний поведінку за допомогою значення «default» властивості cursor, коли курсор знаходиться над текстом.
Вони, ймовірно, зробили це, щоб зберегти сторінку налаштувань настільки схожою на програмний інтерфейс, наскільки це можливо, навіть не дивлячись на те, що це все ще тільки веб-сторінка. Отже, користувач може бачити, що текст на цій сторінці не редагується, чого не скажеш про текст в поле пошуку.
Ось типова логіка для звичайних додатків: редагований текст використовує вертикальний I-образний текстовий курсор, в той час як звичайний, Нередагована текст використовує дефолтну стрілку-покажчик.
Доповнення: Як було відзначено в коментарях, багато хто помітив, що рідні додатки використовують I-образний текстовий курсор не тільки для редагованого, але також і для будь-якого виділяється тексту. Це має місце в більшості випадків. Особисто я думаю, що I-образний текстовий курсор більше підходить в якості індикатора «вставки тексту» або «редагування цього тексту», ніж індикатор вибору. І так само я вважаю, що є «рідні» додатки, що включають текст, що виділяється, в яких курсор є простою дефолтной Стрек-покажчиком. Але це не дуже часта річ, так що я в якійсь мірі знімаю свої аргументи щодо звичайних додатків, якщо розглядати I-образний курсор як універсальний індикатор для виділяється і тексту, що редагується.
висновок
Я не знаю історичної причини, по якій браузери використовують «текстовий» курсор на Нередагована тексті. Деякі сайти, такі як SitePoint, визнали, що в цьому відношенні, може бути, було б краще слідувати загальним правилам.
На будь-який веб-сторінці, я думаю, це має більше сенсу, якщо текстовий курсор використовується для редагованих елементів, типу textarea, input, і навіть елементів з атрибутом contenteditable.
Що ви думаєте? Браузери весь час помилялися? Я не думаю, що ми зможемо тут вплинути на що-небудь, але я вважаю, що якщо ми дочекаємося моменту, коли використовуються браузери будуть автообновляться, виробники могли б домовитися використовувати більш інтуїтивне рідне поведінку в цьому відношенні.
Охх, і приношу вибачення за все анімовані курсори. Упевнений, вони ні в кого не викликали роздратування :)
оригінал статті і автор
PS Це теж може бути цікаво:
Яка поведінка правильне?Що ви думаєте?
Браузери весь час помилялися?