Π Π°Π·Π½ΠΎΠ΅

Π‘Ρ‚ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ: Buttons ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ стили ΠΊΠ½ΠΎΠΏΠΎΠΊ CSS ΡƒΡ€ΠΎΠΊΠΈ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… акадСмия

29.05.2023

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ β€” Π”ΠΈΠ·Π°ΠΉΠ½ Π½Π° vc.ru

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Адхама ДаннавСя, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ сначала Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ 9 распространённых ошибок ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ трСбованиям доступности ΠΈ удобства использования. Автор Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Ρ‘Ρ‚ 6 совСтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… контрастными, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ для попадания ΠΏΠΎ Π½ΠΈΠΌ ΠΈ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° достаточном расстоянии Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°

882 просмотров

Π”Π°Π»Π΅Π΅ тСкст ΠΎΡ‚ Π»ΠΈΡ†Π° Π°Π²Ρ‚ΠΎΡ€Π°

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ прСдставлСны практичСскиС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ Π½Π° Ρ‚Π΅ΠΌΡƒ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ. Они ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ распространённых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с удобством использования ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ.

Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠΌ ΡƒΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ Π»Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π» ΠΊΠ½ΠΎΠΏΠΊΠΈ для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Но каТСтся, я Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ удСлял достаточноС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Волько Π½Π΅Π΄Π°Π²Π½ΠΎ я понял, Ρ‡Ρ‚ΠΎ допускал Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ распространСнныС ошибки Π² ΠΈΡ… ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ (ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ я).

Если Π²Ρ‹ достанСтС свой Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½, ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ просмотритС нСсколько Π²Π΅Π±-сайтов, Ρ‚ΠΎ навСрняка сразу ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ мноТСство ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠœΠΎΠ³Ρƒ ΠΏΠΎΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΈΠ· Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π½Π΅Π΄ΠΎΡ‡Ρ‘Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ риски для удобства использования ΠΈ доступности. Π”Π°ΠΆΠ΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ мноТСство ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я собрал нСсколько ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΈ практичСских совСтов ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ этих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ самыС Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ рассмотрим Π΄ΠΈΠ·Π°ΠΉΠ½ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространённых ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π― Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ проСктирования интСрфСйса ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Ρ… ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… мыслСй, основанных Π½Π° эстСтикС ΠΈΠ»ΠΈ Β«Ρ‡ΡƒΡ‚ΡŒΠ΅Β». Π― Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Ρƒ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π² ΠΊΠΎΠ΄, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сначала Π½Π°ΠΌ прСдстоит ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² области Π΄ΠΈΠ·Π°ΠΉΠ½Π°. Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ я Π΄Π°ΠΌ нСсколько Π»ΡƒΡ‡ΡˆΠΈΡ… практичСских Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.

РаспространСнныС ошибки ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ

Π’ Π΄ΠΈΠ·Π°ΠΉΠ½-систСмах Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ‚Ρ€ΠΈ стиля: главная ΠΊΠ½ΠΎΠΏΠΊΠ°, вторичная ΠΈ трСтичная. Кнопки ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ дСйствия Ρ€Π°Π·Π½ΠΎΠΉ стСпСни ваТности ΠΈ поэтому ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‡Ρ‘Ρ‚ΠΊΡƒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ сравним Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ Π²ΠΎ всСх Ρ‚Ρ€Ρ‘Ρ… стилях.

НиТС я Π²Ρ‹Π΄Π΅Π»ΠΈΠ» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ риск для удобства использования, поэтому ΠΏΠΎ возмоТности ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΈΡ…. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ стрСмимся ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΡŽ трСбованиям доступности WCAG 2.0 уровня AA, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённый стандарт ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ.

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ 1

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ людям со слабым Π·Ρ€Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ интСрфСйса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ для заполнСния, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ), сдСлайтС Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ коэффициСнт контрастности Ρ†Π²Π΅Ρ‚ΠΎΠ² Π±Ρ‹Π» Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3:1. Π”Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ стили, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ для выдСлСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² интСрфСйса, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΉ коэффициСнт контрастности.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ коэффициСнт контрастности Π·Π°Π»ΠΈΠ²ΠΊΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ (Β«SecondaryΒ») ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ„ΠΎΠ½Ρƒ составляСт ΠΌΠ΅Π½Π΅Π΅ 3:1. Π­Ρ‚ΠΎ слишком ΠΌΠ°Π»ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ люди со слабым Π·Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³Π»ΠΈ Ρ‡Ρ‘Ρ‚ΠΊΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Ρ€Π°Π·ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π°Π»ΠΈΠ²ΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ β€” дСкоративная ΠΈ Π΅ΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ коэффициСнту контрастности 3:1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ доступной. Но я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π·Π°Π»ΠΈΠ²ΠΊΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ элСмСнт. Π‘Π΅Π· Π·Π°Π»ΠΈΠ²ΠΊΠΈ это просто ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ синий тСкст, СдинствСнной характСристикой ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся Ρ†Π²Π΅Ρ‚. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Π²ΠΎΠ΄ΠΊΡƒ ΠΊ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ 2

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, свСтло-сСрый β€” Ρ†Π²Π΅Ρ‚ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π·Π° Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΈΠ·-Π·Π° Π·Π°Π»ΠΈΠ²ΠΊΠΈ свСтло-сСрого Ρ†Π²Π΅Ρ‚Π°. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свСтло-сСрыС ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹. Π’Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ бСзопаснСС. Π― Π±Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ посовСтовал ΠΏΠΎ возмоТности Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½ΠΎ это Ρ‚Π΅ΠΌΠ° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ 3

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡˆΠΈΡ€ΠΎΠΊΠ°Ρ аудитория ΠΌΠΎΠ³Π»Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π»ΠΊΠΈΠΉ тСкст (18 px ΠΈ мСньшС), коэффициСнт контрастности Ρ†Π²Π΅Ρ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 4,5:1.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со стилями ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

  • ΠšΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ контрастности тСкста Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ слишком Π½ΠΈΠ·ΠΊΠΈΠΉ, Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 4,5:1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ восприятия
  • Главная (Β«PrimaryΒ») ΠΈ вторичная ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ ΠΈΠ·-Π·Π° схоТСго стиля ΠΈ нСдостаточного контраста. Π­Ρ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π±ΡƒΠ΄Π΅Ρ‚ нСпонятно, ΠΊΠ°ΠΊΠΎΠ΅ дСйствиС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Ρ‡Ρ‘Ρ‚ΠΊΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΈΡΡŒ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ коэффициСнт контрастности, Ρ€Π°Π²Π½Ρ‹ΠΉ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3:1

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ 4

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ стилСй ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ рассмотрСли Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π·Π° Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΈΠ·-Π·Π° Π΅Ρ‘ Π·Π°Π»ΠΈΠ²ΠΊΠΈ свСтло-сСрого Ρ†Π²Π΅Ρ‚Π°
  • ΠšΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ контрастности тСкста Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ слишком Π½ΠΈΠ·ΠΊΠΈΠΉ, Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ восприятия, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 4,5:1
  • Главная ΠΈ вторичная ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ ΠΈΠ·-Π·Π° схоТСго стиля ΠΈ нСдостаточного контраста

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ 5

БлабовидящиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ с Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ эти ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… стили слишком ΠΏΠΎΡ…ΠΎΠΆΠΈ.

ΠšΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ контрастности ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ β€” СдинствСнный способ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ½ слишком Π½ΠΈΠ·ΠΊΠΈΠΉ (ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3:1). Кнопки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‡Ρ‘Ρ‚ΠΊΡƒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ, которая зависит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Ρ†Π²Π΅Ρ‚Π°.

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ 6

Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со стилями ΠΊΠ½ΠΎΠΏΠΎΠΊ, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅:

  • Π‘Ρ‚ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ слишком ΠΏΠΎΡ…ΠΎΠΆΠΈ ΠΏΠΎ контрасту ΠΈ ΡΡ‚ΠΈΠ»ΡŽ, поэтому слабовидящиС люди Π½Π΅ смогут ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°
  • ΠšΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ контрастности ΠΎΠ±Π²ΠΎΠ΄ΠΊΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ (Β«TertiaryΒ») Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3:1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° считывали Π΅Ρ‘ ΠΈ Ρ‡Ρ‘Ρ‚ΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ элСмСнт

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ 7

Когда Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ доступности, ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ†Π²Π΅Ρ‚. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ элСмСнты интСрфСйса, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ страдаСт Π΄Π°Π»ΡŒΡ‚ΠΎΠ½ΠΈΠ·ΠΌΠΎΠΌ.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ трСтичная ΠΊΠ½ΠΎΠΏΠΊΠ° нСдоступна для восприятия, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Ρ‘ Ρ†Π²Π΅Ρ‚ β€” СдинствСнный ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° интСрактивная. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ‚Ρ€Π°Π΄Π°ΡŽΡ‚ Π΄Π°Π»ΡŒΡ‚ΠΎΠ½ΠΈΠ·ΠΌΠΎΠΌ, Π½Π΅ смогут ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π΅Π΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ тСкста.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях контСкст, располоТСниС ΠΈ Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ тСкста, Π½ΠΎ всё-Ρ‚Π°ΠΊΠΈ сущСствуСт риск, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅.

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ 8

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄Π΅Ρ‚Π°Π»ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° интСрфСйса Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ логичСскоС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ? Π­Ρ‚ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ? Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅.

Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ 9

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ элСмСнтов интСрфСйса. Π’Ρ€ΠΈ стиля ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дСйствия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ люди ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со стилями ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

  • НСпонятная Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ иСрархия, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ главная ΠΈ вторичная ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ вСс
  • ΠšΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ контрастности Π·Π°Π»ΠΈΠ²ΠΊΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½ΠΈΠΆΠ΅ 3:1. Π­Ρ‚ΠΎ слишком ΠΌΠ°Π»ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ люди с ослаблСнным Π·Ρ€Π΅Π½ΠΈΠ΅ΠΌ Ρ‡Ρ‘Ρ‚ΠΊΠΎ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Ρ„ΠΎΡ€ΠΌΡƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ

Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… ошибок Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… практичСских совСтов. Они ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΈ доступныС для восприятия ΠΊΠ½ΠΎΠΏΠΊΠΈ:

  • ΠŸΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ Ρ‡Ρ‘Ρ‚ΠΊΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ, которая зависит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Ρ†Π²Π΅Ρ‚Π°
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ коэффициСнт контрастности ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π° Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π΅Ρ‘, Ρ€Π°Π²Π½Ρ‹ΠΉ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3:1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ люди ΠΌΠΎΠ³Π»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ элСмСнт
  • ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ коэффициСнт контрастности тСкста ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρ€Π°Π²Π½Ρ‹ΠΉ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 4,5:1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‡Π°Π» трСбованиям доступности WCAG 2.0 уровня AA
  • Если Π²Ρ‹ сдСлали ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌ стилС, ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ коэффициСнта контрастности ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Ρ€Π°Π²Π½ΠΎΠ³ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3:1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ люди с ослаблСнным Π·Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ достаточно Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ наТатия (Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 48 px), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ с Π»Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒΡŽ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ достаточно мСста, Ρ‡Ρ‚ΠΎΠ±Ρ‹ люди ΠΏΠΎ ошибкС Π½Π΅ Π½Π°ΠΆΠ°Π»ΠΈ Π½Π΅ Ρ‚Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, для пСрСстраховки я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», Ρ€Π°Π²Π½Ρ‹ΠΉ 16 px

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ

Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ стили ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Π½ΠΈΠΌΠΈ, ΠΎΠ½ΠΈ доступны для восприятия ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‡Ρ‘Ρ‚ΠΊΡƒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ, которая зависит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Ρ†Π²Π΅Ρ‚Π°.

Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, трСтичная ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ ссылку, Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°? Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ тСкстовыС ссылки ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊΡƒΠ΄Π°-Π»ΠΈΠ±ΠΎ, Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ β€” для выполнСния дСйствия. МногиС Π½Π΅ Π·Π½Π°ΡŽΡ‚ ΠΎΠ± этой схСмС взаимодСйствия ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ Π΅Ρ‘ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ этой схСмы. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π° ссылки β€” ΠΊΠ°ΠΊ ссылки, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ выглядят. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ чтСния с экрана.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π±Π°Π½Π½Π΅Ρ€, Π³Π΄Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ссылки ΠΏΡ€ΠΈΠ·Ρ‹Π²Π° ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ выглядят ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π’Π°ΠΊΠΎΠ΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‘Ρ‚ΠΊΡƒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с сообщСниСм. Π’ Π½Ρ‘ΠΌ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… стилях. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ трСтичная ΠΊΠ½ΠΎΠΏΠΊΠ° выглядит ΠΊΠ°ΠΊ ссылка, Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС понятно, Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° Π½Π΅Ρ‘ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ дСйствия, Π° Π½Π΅ ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ страницу.

Π― Π½Π΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ β€” СдинствСнно Π²Π΅Ρ€Π½Ρ‹ΠΉ способ ΠΈΡ… оформлСния. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ довольно бСзопасный ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎ ΡƒΠ±Π΅Ρ€Π΅ΠΆΡ‘Ρ‚ вас ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… рисков, связанных с ΡŽΠ·Π°Π±ΠΈΠ»ΠΈΡ‚ΠΈ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ обсудили Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½Ρ‹Ρ… статСй, инструмСнтов ΠΈ вдохновСния для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² β€” Π² нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅.

ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² интСрфСйсС

ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· основных ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² интСрфСйса

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ взаимодСйствиС, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ происхоТдСниС физичСских ΠΊΠ½ΠΎΠΏΠΎΠΊ – прямого ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° интСрфСйса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сСгодня ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ всСх Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ…. Кнопки ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠ΅. ΠŸΡ€ΠΈΠΊΠΎΡΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΏΠ°Π»ΡŒΡ†Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ±ΠΎΡ€, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΠΈΠ»ΠΈ систСму, Π΄Π°ΠΆΠ΅, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π² основС ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π’ своСй ΠΊΠ½ΠΈΠ³Π΅ Β«Power ButtonΒ» РэйчСл ΠŸΠ»ΠΎΡ‚Π½ΠΈΠΊ прослСТиваСт истоки соврСмСнной ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹ использования ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ описываСт, ΠΊΠ°ΠΊ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ стало срСдством Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ управлСния, ΠΎΠ±Π΅Ρ‰Π°ΡŽΡ‰Π΅Π΅ Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ.

Β«Π’Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π° ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅Β», – Ρ‚Π°ΠΊ, посрСдством броского ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ слогана, Kodak ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ ΠΊ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ покупатСлям своих Ρ„ΠΎΡ‚ΠΎΠ°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΠΎΠ².

Π­Ρ‚ΠΎ ΠΎΡ‡Π°Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΄Π°ΠΆΠ΅ сСгодня. МгновСнноС ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ всС происходит благодаря простому ΠΏΡ€ΠΈΠΊΠΎΡΠ½ΠΎΠ²Π΅Π½ΠΈΡŽ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ½Π½Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… Π±Ρ‹Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… устройств пСрСходят Π½Π° сСнсорноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, физичСскиС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π΅ скоро исчСзнут, Π° сформированныС ΠΈΠΌΠΈ повСдСнчСскиС ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный ΠΈ простой Π² использовании Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΊΠ½ΠΎΠΏΠΎΠΊ.

Кнопки vs Бсылки

Кнопки ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ ΠΎ дСйствиях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. Они ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² интСрфСйсС Π² Ρ‚Π°ΠΊΠΈΡ… мСстах, ΠΊΠ°ΠΊ: Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π°, Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΈ Ρ‚. Π΄. Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΈ ссылками ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

  • Бсылки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: страница Β«ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС», страница профиля ΠΈ Ρ‚. Π΄.
  • Кнопки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ дСйствия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Β«ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΒ», Β«ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΒ», Β«ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉΒ», Β«Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΒ» ΠΈ Ρ‚. Π΄.

БостояниС ΠΊΠ½ΠΎΠΏΠΊΠΈ сообщаСт Π΅Π΅ статус ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… взаимодСйствий ΠΈ стилСй для Π²Π°ΡˆΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… частСй процСсса. КаТдоС состояниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ аффордансы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… состояний ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π°, Π½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡˆΡƒΠΌΠ°.

Normal β€” сообщаСт, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½.

Focus β€” сообщаСт, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π΄Π΅Π»ΠΈΠ» элСмСнт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π²ΠΎΠ΄Π°.

Hover β€” сообщаСт, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Π²Π΅Π» курсор Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ элСмСнт.

Active β€” АктивноС ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΎΠ΅ состояниС сообщаСт ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ.

Progress/Loading β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° дСйствиС Π½Π΅ выполняСтся Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈ сообщаСт, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ находится Π² процСссС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ дСйствия.

Disabled β€” сообщаСт, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² настоящСС врСмя Π½Π΅ являСтся ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Кнопки Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ², Ρ„ΠΎΡ€ΠΌ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²

НаиболСС распространСнными ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Π·Π°ΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΡƒΠ³Π»Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ смотрятся рядом с ΠΏΠΎΠ»Π΅ΠΌ Π²Π²ΠΎΠ΄Π°. Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ стиля для ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Ρ†Π΅Π»ΠΈ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· самых популярных Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΉ стиля:

Π‘Ρ‚ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ ΠΎ ваТности дСйствия

Π‘Ρ‚ΠΈΠ»ΠΈ Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для отличия Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… дСйствий ΠΎΡ‚ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ…. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ дСйствий, которая Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½Π° замСтная ΠΊΠ½ΠΎΠΏΠΊΠ° (этот ΡΡ‚ΠΈΠ»ΡŒ часто называСтся «основной»), нСсколько срСдних «второстСпСнных» ΠΈ слабо Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… Β«Ρ‚Ρ€Π΅Ρ‚ΠΈΡ‡Π½Ρ‹Ρ…Β» дСйствий.

Иногда Π½Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽΒ»

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽΒ» (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ основныС стили) Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΈ пСрСвСсти Π΅Π΅ Π² сфокусированноС состояниС. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ быстрСС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свои Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ ΠΈΡ… Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ.

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²Π°ΠΆΠ½Ρ‹ ΠΈΠ»ΠΈ дСйствиС особСнно опасно. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ явно Π²Ρ‹Π±ΠΈΡ€Π°Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π° Π½Π΅ случайно.

НС заставляйтС мСня Π΄ΡƒΠΌΠ°Ρ‚ΡŒ

«НС заставляй мСня Π΄ΡƒΠΌΠ°Ρ‚ΡŒΒ» – это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΡŽΠ·Π°Π±ΠΈΠ»ΠΈΡ‚ΠΈ-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° Π‘Ρ‚ΠΈΠ²Π° ΠšΡ€ΡƒΠ³Π°. Один ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ – насколько Π²Π°ΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ интСрфСйс понятным для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠΈ ΠΈΠ»ΠΈ Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Ρ‹. ΠžΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½ΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ использования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΌΡ‹ сформировали ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ выглядят ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚. Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ считаСтся «стандартным», Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Π·Π°ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ†Π²Π΅Ρ‚Π° для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… элСмСнтов. Если ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈ Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ элСмСнты ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ†Π²Π΅Ρ‚, людям Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ.

Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ

Β«Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ – это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΡŽΠ·Π°Π±ΠΈΠ»ΠΈΡ‚ΠΈ: ΠΊΠΎΠ³Π΄Π° Π²Π΅Ρ‰ΠΈ всСгда Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚Β»

— Π―ΠΊΠΎΠ± НильсСн

Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ своих Ρ†Π΅Π»Π΅ΠΉ Π² вашСм ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅. ΠŸΡ€ΠΈ создании ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ, Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΡ‡Π½ΠΎΠ³ΠΎ стилСй ΠΏΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π°ΠΉΡ‚ΠΈ ряд ΠΎΠ±Ρ‰ΠΈΡ… элСмСнтов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ†Π²Π΅Ρ‚, Ρ„ΠΎΡ€ΠΌΠ° ΠΈ Ρ‚. Π΄. ΠŸΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ своСй Π΄ΠΈΠ·Π°ΠΉΠ½-систСмы, Π½ΠΎ ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅.

Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ достаточно большими для Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ взаимодСйствия

НаТатиС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ простой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΈ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΠΎ ошибкС Π½Π°ΠΆΠΌΠ΅Ρ‚ Π½Π° сосСдний элСмСнт, это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания сСнсорных Ρ†Π΅Π»Π΅ΠΉ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 48 x 48 dp. БСнсорная Ρ†Π΅Π»ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π΄Π°Π΅Ρ‚ физичСский Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠΎΠ»ΠΎ 9 ΠΌΠΌ, нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° экрана. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ для сСнсорных элСмСнтов составляСт Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 7–10 ΠΌΠΌ.

Для ΠΊΠ½ΠΎΠΏΠΎΠΊ с ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»ΡŒ касания Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°Π½ΠΈΡ† элСмСнта. Π­Ρ‚ΠΎ относится Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ устройствам ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°ΠΌ, Π½ΠΎ ΠΈ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ устройствам Π²Π²ΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΌΡ‹ΡˆΡŒ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ для доступности

Π­Ρ‚Ρƒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ слСдуСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для любого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. Π Π°Π·ΠΌΠ΅Ρ€ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ области Π±Ρ‹Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ. К Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌ относятся Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°, Ρ†Π²Π΅Ρ‚ ΠΈ контраст. БущСствуСт мноТСство инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ваши ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

Π”ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ тСсно ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ чтСния с экрана. Роль ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ role=”button” ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ элСмСнт отобразится для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ чтСния с экрана, ΠΊΠ°ΠΊ элСмСнт управлСния ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ.

ЖСсты становятся достаточно ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнными

ЖСсты ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ касания. ИспользованиС касания Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ способа выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΈ Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡ‚ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ. Π₯отя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ТСсты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ свайп для запуска контСкстных дСйствий, Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‚Π°ΠΏ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π»Π°ΠΉΠΊ ΠΈΠ»ΠΈ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅, с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π΄Π½Π΅ΠΌ всС ΡˆΠΈΡ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΎΠ½ΠΈ всС Π΅Ρ‰Π΅ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π― Π±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ способа выполнСния дСйствия для Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΌΠ΅Ρ‚ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ

Π’ΠΎ, Ρ‡Ρ‚ΠΎ говорят ваши ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ выглядят. ИспользованиС Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊ большим ошибкам.

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΌΠ΅Ρ‚ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Π›ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»Π°Π³ΠΎΠ»Ρ‹ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π° самом Π΄Π΅Π»Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Как Π±ΡƒΠ΄Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: Β«Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ (Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½Ρƒ)?Β» ΠΈΠ»ΠΈ Β«Π₯ΠΎΡ‚ΠΈΡ‚Π΅ (ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π·)?Β».

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования Β«Π”Π°Β», «НСт» ΠΈΠ»ΠΈ слишком ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠΊ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Β«ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΒ».

Ok/Cancel ΠΈΠ»ΠΈ Cancel/Ok? Оба Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ…ΠΎΡ€ΠΎΡˆΠΈ

Оба Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° – ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹, ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ часами ΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ своих прСдпочтСниях.

  • РазмСщая Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ мСстС дСйствиС OK, Π²Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ СстСствСнный порядок чтСния. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя, Ссли ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ, скорСС всСго, ΠΈΠΌΠ΅Π½Π½ΠΎ это ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. Windows ставит ОК Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто.
  • РазмСщая ΠΊΠ½ΠΎΠΏΠΊΡƒ OK Π² ΠΊΠΎΠ½Ρ†Π΅, Π²Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚Π΅ ΡŽΠ·Π΅Ρ€Ρ„Π»ΠΎΡƒ. ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ OK, ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ° Β«Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉΒ», пСрСмСстит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²ΠΏΠ΅Ρ€Π΅Π΄. Если поставитС OK Π² ΠΊΠΎΠ½Ρ†Π΅, Π²Ρ‹ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ дСйствия, ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΈ ΠΏΠΎΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Apple ставит ОК Π½Π° послСднСС мСсто

Π›ΡŽΠ±ΠΎΠΉ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² свою ΠΏΠΎΠ»ΡŒΠ·Ρƒ, ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ катастрофичСским послСдствиям для ΡŽΠ·Π°Π±ΠΈΠ»ΠΈΡ‚ΠΈ. Π― Π² основном ΡΡ‚Π°Π²Π»ΡŽ ОК Π² спискС дСйствий Π½Π° послСднСС мСсто. НапримСр, Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я прСимущСствСнно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Mac).

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ — отстой

ВсС Π±Ρ‹Π²Π°Π»ΠΈ Π² Ρ‚Π°ΠΊΠΎΠΉ ситуации. Π’Ρ‹ застрСвали Π½Π° экранС Π½Π° нСсколько сСкунд ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΡƒΡ‚, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ваш прогрСсс Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΆΠΈΠ²ΠΈΡ‚ΡŒ Π΅Π΅. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ элСмСнты управлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² настоящСС врСмя Π½Π΅ являСтся ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ· Π΅Π΅ исходного мСстополоТСния ΠΈ Π΅Π΅ раскрытиС Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΌ контСкстС ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ, ΠΏΠΎ возмоТности, ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π›ΡƒΡ‡ΡˆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ всСгда Π±Ρ‹Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ, ΠΈ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ прСдоставили Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, просто Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ пустыС поля ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅.

О ΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅? Π”Π°ΠΉΡ‚Π΅ Π·Π½Π°Ρ‚ΡŒ Π² коммСнтариях.

7 основных ΠΏΡ€Π°Π²ΠΈΠ» проСктирования ΠΊΠ½ΠΎΠΏΠΎΠΊ

Π”ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ

PS: Π― Ρ…ΠΎΡ‡Ρƒ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ доступСн, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ количСству Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ. Если Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ ΡΡ‚Π°Ρ‚ΡŒΡ, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Π° Π½Π° Patreon https://www.patreon.com/tarasbakusevych.


ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ uxdesign.cc

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ стилСй ΠΊΠ½ΠΎΠΏΠΎΠΊ SwiftUI | ПЯВЬ Π—Π’Π•Π—Π”

SwiftUI

26 января 2021 Π³.

Π€Π΅Π΄Π΅Ρ€ΠΈΠΊΠΎ Π—Π°Π½Π΅Ρ‚Π΅Π»Π»ΠΎ @zntfdr

Button , Π±Π΅Π· сомнСния, являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых популярных элСмСнтов SwiftUI, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ особСнный, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это СдинствСнный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ стилСй: ButtonStyle ΠΈ PrimitiveButtonStyle .

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим всС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ стилях ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся iOS, ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊΠΎ всСм ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌ с нСбольшими измСнСниями.

Запуск

SwiftUI поставляСтся с трСмя встроСнными стилями: DefaultButtonStyle , BorderlessButtonStyle ΠΈ PlainButtonStyle .

ΠŸΡ€ΠΈ объявлСнии простой ΠΊΠ½ΠΎΠΏΠΊΠΈ примСняСтся DefaultButtonStyle :

 Button("ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°") {
  // ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°
  ...
}
 

DefaultButtonStyle Π½Π΅ являСтся стилСм ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌ: это наш способ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ SwiftUI Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ Π·Π° нас (Π½Π° основС контСкста, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… прСдставлСний ΠΈ Ρ‚. Π΄.).

ЀактичСский ΡΡ‚ΠΈΠ»ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” это BorderlessButtonStyle , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ примСняСт синий ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ ΠΏΠΎΠ²Π΅Ρ€Ρ… нашСй ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ Ρ†Π²Π΅Ρ‚ Π°ΠΊΡ†Π΅Π½Ρ‚Π° прилоТСния, Ссли ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π° iOS 14, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ эффСкты ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ, фокусировкС ΠΈ Ρ‚. Π΄.

Если ΠΌΡ‹ Π½Π΅ находимся Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ (я Π΅Ρ‰Π΅ Π½Π΅ нашСл Π΅Π³ΠΎ, поТалуйста, Π΄Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ, Ссли Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅), ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€ΠΈ объявлСния эквивалСнтны:

 Button("ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°") {
  ...
}
Кнопка("ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°") {
  ...
}
.buttonStyle(DefaultButtonStyle())
Кнопка("ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°") {
  ...
}
.buttonStyle(BorderlessButtonStyle())
 

Π’ iOS 13 (синий) ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ примСняСтся ΠΊ изобраТСниям, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌ Π² нашСй ΠΊΠ½ΠΎΠΏΠΊΠ΅ label , поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΊ нашим изобраТСниям (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Image("image"). renderingMode(. original) ) ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Начиная с iOS 14 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ изобраТСния.

НаконСц, SwiftUI ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ PlainButtonStyle , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±Π΅Π· ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠ°, Π½ΠΎ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ примСняСт Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ эффСкты Π² Ρ€Π°Π·Π½Ρ‹Ρ… состояниях:

 Кнопка ("ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°") {
  // ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°
  ...
}
.buttonStyle(PlainButtonStyle())
 

Π­Ρ‚ΠΎ всС стили, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ SwiftUI прСдоставляСт Π½Π°ΠΌ Π² iOS: ΠΊ ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ButtonStyle ΠΈ PrimitiveButtonStyle , Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с ButtonStyle .

ButtonStyle

ДокумСнтация ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ButtonStyle , ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ сами объявляСм внСшний Π²ΠΈΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½ΠΎ взаимодСйствиС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΊΠ°ΠΊ любая другая стандартная ΠΊΠ½ΠΎΠΏΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π΅ дСйствиС запускаСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ).

 общСдоступный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ButtonStyle {
  связанный Ρ‚ΠΈΠΏ Π’Π΅Π»ΠΎ: ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅
  func makeBody (конфигурация: Self. Configuration) -> Self.Body
  typealias Configuration = ButtonStyleConfiguration
}
 

ЕдинствСнным Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ButtonStyle являСтся Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ прСдставлСния ΠΈΠ· makeBody(configuration:) , функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ экзСмпляр ButtonStyleConfiguration :

 public struct ButtonStyleConfiguration {
  общСдоступная ΠΌΠ΅Ρ‚ΠΊΠ° let: ButtonStyleConfiguration.Label
  ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ let isPressed: Bool
}
 

Π­Ρ‚Π° конфигурация ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° свойства:

  • ΠΌΠ΅Ρ‚ΠΊΠ° β€” это ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΌΠ΅Ρ‚ΠΊΠ° , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли наша ΠΊΠ½ΠΎΠΏΠΊΠ° β€” Button(action: {}, label: { Text("Hello world") }) , Π·Π°Ρ‚Π΅ΠΌ Text("Hello world") Π±ΡƒΠ΄Π΅Ρ‚ нашСй ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ эффСкты

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

 struct RoundedRectangleButtonStyle: ButtonStyle {
  func makeBody (конфигурация: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ) -> Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ {
    Π₯Бтэк {
      ΠŸΡ€ΠΎΠΊΠ»Π°Π΄ΠΊΠ° ()
      configuration.label.foregroundColor (.Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ)
      ΠŸΡ€ΠΎΠΊΠ»Π°Π΄ΠΊΠ° ()
    }
    . Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅()
    .background(Π¦Π²Π΅Ρ‚.ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ.уголРадиус(8))
    .scaleEffect (configuration.isPressed? 0,95: 1)
  }
}
 
 структура ShadowButtonStyle: ButtonStyle {
  func makeBody (конфигурация: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ) -> Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ {
    ΠΌΠ΅Ρ‚ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
      .Ρ‚Π΅Π½ΡŒ(
        Ρ†Π²Π΅Ρ‚: конфигурация.isPressed ? Π¦Π²Π΅Ρ‚.синий : Π¦Π²Π΅Ρ‚.Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ,
        радиус: 4, Ρ…: 0, Ρƒ: 5
      )
  }
}
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ эти Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ эффСктов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ, фокусировкС ΠΈ Ρ‚. Π΄. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ эффСкты Π² наши ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Π­Ρ‚ΠΎ всС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ ButtonStyle . Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΌ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ внСшний Π²ΠΈΠ΄ любой ΠΊΠ½ΠΎΠΏΠΊΠΈ, основныС прСимущСства:

  • ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡΡ‚ΠΈΠ»ΡŒ ΠΊ нСскольким ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ Π±Π΅Π· дублирования ΠΊΠΎΠ΄Π°
  • доступ ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ isPressed
  • сохраняСт стандартноС взаимодСйствиС/ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ составлСниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… стилСй

Кнопка Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ экзСмпляр ButtonStyleConfiguration (FB8979053), Ρ‡Ρ‚ΠΎ услоТняСт Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΡ€ΠΈ объСдинСнии Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… стилСй.

Богласно нашим Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ объявлСниям, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ButtonStyle Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ эффСкта, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ блиТайший ΡΡ‚ΠΈΠ»ΡŒ ( makeBody(configuration:) Π΄Ρ€ΡƒΠ³ΠΈΡ… стилСй Π΄Π°ΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ):

 // ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ RoundedRectangleButtonStyle
Button("Π‘Ρ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° со скруглСнными ΡƒΠ³Π»Π°ΠΌΠΈ") {
  // ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°
  ...
}
.buttonStyle(RoundedRectangleButtonStyle())
.buttonStyle(ShadowButtonStyle())
.buttonStyle(BorderlessButtonStyle())
.buttonStyle(DefaultButtonStyle())
 

Β«ΠžΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒΒ» для этого ограничСния β€” Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Button Π² Π½Π°ΡˆΡƒ ButtonStyle makeBody(configuration:) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ RoundedRectangleButtonStyle ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 struct RoundedStyleRectangle
  func makeBody (конфигурация: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ) -> Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ {
    Кнопка (дСйствиС: {}, ΠΌΠ΅Ρ‚ΠΊΠ°: {
      Π₯Бтэк {
        ΠŸΡ€ΠΎΠΊΠ»Π°Π΄ΠΊΠ° ()
        configuration. label.foregroundColor (.Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ)
        ΠŸΡ€ΠΎΠΊΠ»Π°Π΄ΠΊΠ° ()
      }
    })
    // πŸ‘‡πŸ» ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ всС наТатия Π½Π° ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ
    .allowsHitTesting(лоТь)
    .Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅()
    .background(Π¦Π²Π΅Ρ‚.ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ.уголРадиус(8))
    .scaleEffect(configuration.isPressed? 0,95 : 1)
  }
}
 

Π‘ этим Π½ΠΎΠ²Ρ‹ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΡ‡Ρ‚ΠΈ :

 Button("ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ со скруглСнными ΡƒΠ³Π»Π°ΠΌΠΈ + ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚Π΅Π½ΠΈ") {
  // ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°
  ...
}
.buttonStyle(RoundedRectangleButtonStyle())
.buttonStyle(ShadowButtonStyle())
 

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ нСдостатком являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ стили ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈ Π½Π΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, поэтому Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… событий isPressed .

Для этих нСдостатков Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΌΡ‹ борСмся с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ:
вмСсто этого Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ .buttonStyle(..) ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΡƒΡŽ Π·Π°ΠΌΠ΅Π½Ρƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ….

ΠŸΡ€ΠΎΡΡ‚Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, являСтся созданиС ΠΈ использованиС Π½ΠΎΠ²ΠΎΠ³ΠΎ стиля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сочСтаСт Π² сСбС ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹Π΅ эффСкты, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 struct RoundedRectangleWithShadowedLabelButtonStyle: ButtonStyle {
  func makeBody (конфигурация: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ) -> Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ {
    Π₯Бтэк {
      ΠŸΡ€ΠΎΠΊΠ»Π°Π΄ΠΊΠ° ()
      configuration. label.foregroundColor (.Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ)
        .Ρ‚Π΅Π½ΡŒ(
          Ρ†Π²Π΅Ρ‚: конфигурация.isPressed ? Π¦Π²Π΅Ρ‚.красный : Π¦Π²Π΅Ρ‚.Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ,
          радиус: 4, Ρ…: 0, Ρƒ: 5
        )
      ΠŸΡ€ΠΎΠΊΠ»Π°Π΄ΠΊΠ° ()
    }
    .Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅()
    .background(Π¦Π²Π΅Ρ‚.ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ.уголРадиус(8))
    .scaleEffect(configuration.isPressed? 0,95 : 1)
  }
}
 

ΠšΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 Кнопка (Β«ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ со скруглСнными ΡƒΠ³Π»Π°ΠΌΠΈ + ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚Π΅Π½ΠΈΒ») {
  // ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°
  ...
}
.buttonStyle(RoundedRectangleWithShadowedLabelButtonStyle())
 

НапоминаСм, Ρ‡Ρ‚ΠΎ это тСхничСская ΡΡ‚Π°Ρ‚ΡŒΡ, Π° Π½Π΅ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅.

PrimitiveButtonStyle

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ButtonStyle Π±Ρ‹Π» посвящСн настройкС внСшнСго Π²ΠΈΠ΄Π° ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ стандартного повСдСния взаимодСйствия, PrimitiveButtonStyle позволяСт Π½Π°ΠΌ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π°, Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ внСшний Π²ΠΈΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ дСйствиС ΠΊΠ½ΠΎΠΏΠΊΠΈ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ PrimitiveButtonStyle ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ ButtonStyle :

 ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» PrimitiveButtonStyle {
    связанный Ρ‚ΠΈΠΏ Π’Π΅Π»ΠΎ : ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅
    func makeBody (конфигурация: Self.Configuration) -> Self.Body
    typealias Configuration = PrimitiveButtonStyleConfiguration
}
 

ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ makeBody(configuration:) , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ являСтся PrimitiveButtonStyleConfiguration type:

 public struct PrimitiveButtonStyleConfiguration {
  общСдоступная ΠΌΠ΅Ρ‚ΠΊΠ° let: PrimitiveButtonStyleConfiguration.Label
  Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ()
}
 

Π­Ρ‚Π° конфигурация снова содСрТит ΠΊΠ½ΠΎΠΏΠΊΡƒ label Π² качСствС свойства, ΠΎΠ΄Π½Π°ΠΊΠΎ isPressed Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ trigger() : Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π΅Π»ΠΎ Π·Π° Π½Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ врСмя для этого.

НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ½ΠΎΠΏΠΊΠ° срабатывала Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ:

 struct DoubleTapOnlyStyle: PrimitiveButtonStyle {
  func makeBody (конфигурация: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ) -> Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ {
    ΠΌΠ΅Ρ‚ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
      . onTapGesture (количСство: 2, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: configuration.trigger)
  }
}
 

ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡ‚ΠΈΠ»ΡŒ:

 Button("Π”Π²Π°ΠΆΠ΄Ρ‹ коснись мСня") {
  // ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄Π²Π°ΠΆΠ΄Ρ‹ Π½Π°ΠΆΠ°Ρ‚Π°
  ...
}
.buttonStyle(DoubleTapOnlyStyle())
 

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ составлСниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… (ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ…) стилСй

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ButtonStyleConfiguration , Button ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ экзСмпляр PrimitiveButtonStyleConfiguration , Ρ‡Ρ‚ΠΎ позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ/ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ нСсколько (ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ…) стилСй ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠ΅.

НапримСр, рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ стили:

 // ДСйствиС ΠΊΠ½ΠΎΠΏΠΊΠΈ срабатываСт ΠΏΡ€ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ.
структура DoubleTapStyle: PrimitiveButtonStyle {
  func makeBody (конфигурация: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ) -> Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ {
    Button(configuration) // <- Button вмСсто configuration.label
      .onTapGesture (количСство: 2, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: configuration.trigger)
  }
}
// ДСйствиС ΠΊΠ½ΠΎΠΏΠΊΠΈ срабатываСт ΠΏΡ€ΠΈ свайпС. 
// (Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π²Π½Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ)
структура SwipeButtonStyle: PrimitiveButtonStyle {
  func makeBody (конфигурация: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ) -> Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ {
    Кнопка(конфигурация)
      .ТСст(
        ЖСст ΠŸΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ()
          .onEnded { _ Π²
            конфигурация.Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€()
          }
      )
  }
}
 

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ вмСстС:

 Кнопка(
  "Π”Π²ΠΎΠΉΠ½ΠΎΠ΅ касаниС ΠΈΠ»ΠΈ смахиваниС",
  дСйствиС: {
    // здСсь обрабатываСтся дСйствиС
    ...
  }
)
.buttonStyle(DoubleTapStyle())
.buttonStyle(SwipeButtonStyle())
 

Π£ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ нСбольшой ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ эффСкт:
Кнопка (конфигурация) поставляСтся с взаимодСйствиСм ΠΈ стилСм ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊ ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ±Π° ΠΈΠ· Π½ΠΈΡ…, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ «простой» ΡΡ‚ΠΈΠ»ΡŒ.

 структура PlainNoTapStyle: PrimitiveButtonStyle {
  func makeBody (конфигурация: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ) -> Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ {
    Кнопка(конфигурация)
      .buttonStyle(PlainButtonStyle()) // удаляСт любой внСшний Π²ΠΈΠ΄ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
      . allowsHitTesting(false) // большС Π½Π΅ срабатываСт ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ
      .contentShape(Rectangle()) // Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ взаимодСйствиям Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ
  }
}
 

Если ΠΌΡ‹ сСйчас Π΄ΠΎΠ±Π°Π²ΠΈΠΌ этот ΡΡ‚ΠΈΠ»ΡŒ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ нашСй ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΌΡ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ заставим Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ ΠΈ свайпов:

 Кнопка(
  "Π”Π²ΠΎΠΉΠ½ΠΎΠ΅ касаниС ΠΈΠ»ΠΈ смахиваниС",
  дСйствиС: {
    // здСсь обрабатываСтся дСйствиС
    ...
  }
)
.buttonStyle(DoubleTapStyle())
.buttonStyle(SwipeButtonStyle())
.buttonStyle(PlainNoTapStyle())
 

Однако ΠΌΡ‹, вСроятно, Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ Π±Ρ‹Π»ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ взаимодСйствиС с ΠΎΠ΄Π½ΠΈΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ИспользованиС PrimitiveButtonStyle и ButtonStyle

ΠœΡ‹ рассмотрСли, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ButtonStyle ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… стилСй, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ PrimitiveButtonStyle позволяСт Π½Π°ΠΌ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ нСсколько стилСй (ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ), ΠΊΠ°ΠΊ насчСт ΠΈΡ… объСдинСния?

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ButtonStyle , Ρ‚Π°ΠΊ ΠΈ (нСсколько) PrimitiveButtonStyle , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 Button(
  "ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ + ΠΊΠ½ΠΎΠΏΠΊΠ°",
  дСйствиС: {
    // здСсь обрабатываСтся дСйствиС
    . ..
  }
)
// πŸ‘‡πŸ» запускаСт ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠ°Π»Π΅Ρ† с ΠΊΠ½ΠΎΠΏΠΊΠΈ
.buttonStyle(SwipeButtonStyle())
.buttonStyle(RoundedRectangleButtonStyle())
 

Π’ Ρ‚Π°ΠΊΠΈΡ… ситуациях Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ButtonStyle ( RoundedRectangleButtonStyle Π²Ρ‹ΡˆΠ΅) Π±Ρ‹Π» объявлСн послСдним, ΠΈΠ½Π°Ρ‡Π΅ PrimitiveButtonStyle Ρ‚Π°ΠΊΠΆΠ΅ сотрСт .

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ наш ButtonStyle Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ событиС isPressed Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ стандартном ТСстС касания, ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° запускаСтся дСйствиС ΠΊΠ½ΠΎΠΏΠΊΠΈ, благодаря Π»ΡŽΠ±ΠΎΠΌΡƒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ PrimitiveButtonStyle : наша ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ подсказку Π½Π° эти стили, ΠΊΠΎΠ³Π΄Π° / Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Кнопки β€” это ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ SwiftUI с самым простым взаимодСйствиСм: Π½Π°ΠΆΠΌΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΡ….

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ элСмСнты с ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ внСшним Π²ΠΈΠ΄ΠΎΠΌ ΠΈ ТСстами:
Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π° Ρ€Π°ΠΌΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ButtonStyle Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ это всСгда Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты Ρ‚Π°ΠΌ, ΠΊΠΎΠ³Π΄Π° это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ»ΠΈ дСйствиС ΠΊΠ½ΠΎΠΏΠΊΠΈ? КакиС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ примСнСния/потрСбности Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ для Ρ‚Π°ΠΊΠΈΡ… стилСй? ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π΄Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ!

Бпасибо Π·Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ слСдитС Π·Π° новостями.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ стилСй ΠΊΠ½ΠΎΠΏΠΎΠΊ SwiftUI | Sarunw

SwiftUI позволяСт Π½Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ внСшний Π²ΠΈΠ΄ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒ вас, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ SwiftUI ΡƒΠΆΠ΅ прСдоставил .

SwiftUI прСдоставляСт мноТСство встроСнных стилСй ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ПослС прочтСния этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ собствСнный ΡΡ‚ΠΈΠ»ΡŒ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ всС 5 стилСй ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ SwiftUI Π² iOS.

ВстроСнныС стили ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² iOS.

Π‘Ρ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ , Ссли ΠΌΡ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ, SwiftUI Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ .automatic ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ .

Π‘Ρ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ . automatic ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ оставили Π²Ρ‹Π±ΠΎΡ€ стиля Π½Π° усмотрСниС SwiftUI. SwiftUI Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для контСкста.

Π‘Ρ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ .automatic прСобразуСтся Π² ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±Π΅Π· Ρ€Π°ΠΌΠΊΠΈ Π² iOS , Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ macOS, tvOS ΠΈ watchOS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Ρ€Π°ΠΌΠΊΠΎΠΉ .

Один ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ стилям Π² зависимости ΠΎΡ‚ контСкста.

 Button("НазваниС кнопки") { 

}

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит Π½Π° iOS ΠΈ macOS.

Π‘Ρ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² iOS ΠΈ macOS.

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ SwiftUI

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ стилСм ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ buttonStyle(_:) ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я установил ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ borderedProminent .

 Button("Π’Ρ‹Π΄Π°ΡŽΡ‰Π°ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° с Ρ€Π°ΠΌΠΊΠΎΠΉ") { 

}.buttonStyle(.borderedProminent)

Если Π²Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° , всС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΡΡ‚ΠΈΠ»ΡŒ.

 HStack { 
Кнопка ("Π’ΠΎΠΉΡ‚ΠΈ") {}
Кнопка ("РСгистрация") {}
}
.buttonStyle(.borderedProminent)
ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ, всС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² этом прСдставлСнии ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ этот ΡΡ‚ΠΈΠ»ΡŒ.

5 iOS ButtonStyles

SwiftUI ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΡΡ‚ΡŒ стилСй ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

  1. автоматичСский
  2. Π±Π΅Π· ΠΏΠΎΠ»Π΅ΠΉ
  3. ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ
  4. с Ρ€Π°ΠΌΠΊΠΎΠΉ
  5. с ΠΎΠΊΠ°Π½Ρ‚ΠΎΠ²ΠΊΠΎΠΉΠ’ΠΈΠ΄Π½Ρ‹ΠΉ

АвтоматичСский

Если ΠΌΡ‹ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ . SwiftUI Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ .automatic .

Как ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° Β«Π‘Ρ‚ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽΒ», SwiftUI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ .borderless ΡΡ‚ΠΈΠ»ΡŒ для iOS.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ автоматичСского стиля ΠΊΠ½ΠΎΠΏΠΊΠΈ, автоматичСского ΠΈΠ»ΠΈ DefaultButtonStyle.

 Button("АвтоматичСская ΠΊΠ½ΠΎΠΏΠΊΠ°") { 

}
.buttonStyle(.automatic)
// Или
Button("АвтоматичСская ΠΊΠ½ΠΎΠΏΠΊΠ°") {

}

Automatic

Borderless

Π­Ρ‚ΠΎ ΡΡ‚ΠΈΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ . automatic ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² iOS.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ стиля ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±Π΅Π· ΠΏΠΎΠ»Π΅ΠΉ, Π±Π΅Π· ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ BorderlessButtonStyle

 Кнопка ("Кнопка бСз полСй") { 

}.buttonStyle(.borderless)

Π‘Π΅Π· ΠΏΠΎΠ»Π΅ΠΉ

ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ стиля простой ΠΊΠ½ΠΎΠΏΠΊΠΈ, простая ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ PlainButtonStyle

 Button("}P
 Button" .buttonStyle(.plain) 

обычная

Bordered

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ стиля ΠΊΠ½ΠΎΠΏΠΊΠΈ с Ρ€Π°ΠΌΠΊΠΎΠΉ, bordered ΠΈΠ»ΠΈ BorderedButtonStyle .

 Кнопка ("Кнопка с Ρ€Π°ΠΌΠΊΠΎΠΉ") { 

}.buttonStyle(.bordered)

с Ρ€Π°ΠΌΠΊΠΎΠΉ

Bordered Prominent

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ стиля Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Ρ€Π°ΠΌΠΊΠΎΠΉ, borderedProminent ΠΈΠ»ΠΈ BorderedProminentButtonStyle .

 Button("Bordered Prominent Button") { 

}.buttonStyle(.borderedProminent)

borderedProminent

Π‘Π²ΠΎΠ΄ΠΊΠ°

Π’ΠΎΡ‚ ΠΏΡΡ‚ΡŒ стилСй ΠΊΠ½ΠΎΠΏΠΎΠΊ для сравнСния .

ВсС ΠΏΡΡ‚ΡŒ стилСй ΠΊΠ½ΠΎΠΏΠΎΠΊ iOS.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *