Опрос: насколько строго вы следуете стандартам и лучшим практикам на фронтенде?

    Как-то так получилось, что за последнюю неделю я посмотрел довольно большое количество выступлений на разных крупных и не очень конференциях. И часто там говорили об очень важных, в теории, вещах: производительности, доступности, прогрессивном улучшении.
    Но, судя по моему опыту и ощущениям, на практике никто этим не занимается, кроме самых крупных компаний. Эти ощущения подтверждает, например, подкаст Веб-стандартов: там при обсуждении каких-то технологий или практик, постоянно звучат слова "мы это у себя не используем", "только если заказчик пнёт".
    Я бы хотел проверить, так ли это, проведя небольшой опрос. Думаю, результаты будут интересны многим, приглашаю обсудить вопросы, ответы и вообще эту тему в целом в комментариях.
    P.S. Я в опросе довольно вольно использую термин "стандарты". Понятно, что для некоторых вещей стандартов нет, но придумывать какое-то альтернативное название не вижу смысла.

    Only registered users can participate in poll. Log in, please.

    Уделяете ли вы внимание доступности сайта для людей с ограниченными возможностями?

    Кто инициирует процесс соблюдения стандартов доступности?

    Уделяете ли вы внимание семантике (используете релевантные теги, микроразметку)?

    Кто инициирует процесс соблюдения стандартов семантики?

    Уделяете ли вы внимание адаптивности сайта под различные устройства (вёрстка, ретина, адаптивные картинки, скорость загрузки на мобильных)?

    Кто инициирует процесс соблюдения стандартов адаптивности?

    Уделяете ли вы внимание производительности интерфейса (60 fps, RAIL)?

    Кто инициирует процесс соблюдения стандартов производительности интерфейса?

    Сколько человек работает в вашей компании?

    Над какими проектами вы работаете

    Уделяете ли вы внимание работе сайта без js?

    Кто инициирует процесс соблюдения стандартов работы без js?

    Уделяете ли вы внимание прогрессивному улучшению?

    Кто инициирует процесс соблюдения стандартов прогрессивного улучшения?

    Share post

    Comments 29

      +1
      Расскажу про себя: все перечисленные в опросе вещи прекрасны и нужны, но если всё это внедрять, проект становится дороже в несколько раз. Очень немногие клиенты на это согласны, поэтому в каждом отдельном проекте если что-то и внедряется, то только частично.
      Есть, конечно, вещи, которые уже засели в подкорку (типа кнопок, которые по возможности, работают без js) и делаются на автомате и совсем не сказываются на стоимости проекта, но держать в голове весь объем информации невозможно, поэтому внедрение каждого из перечисленных в опросе пунктов требует предварительного планирования, как правило.
        +2

        Кнопки, работающие без js, пугают :D Или вы про mouseenter/mouseout?

          +1
          Нет, про то, что кнопки делаю кнопками или ссылками, в зависимости от контекста. Например, по клику на кнопку всплывает окошко авторизации, но если js не работает, то просто переход на отдельную страницу авторизации. Для этого достаточно просто кнопку «Войти» сделать стилизованной ссылкой.
          +4
          А все ли вещи нужны?

          Зачем развлекательному сайту с прикольными картинками и видео поддержка для людей с ограниченными возможностями?
          Зачем в 2016 году уделять внимание работе сайтов без JS?
            0
            Людям с ограниченными возможностями тоже хочется развлекаться. Про js — один из аргументов я уже написал ниже, ещё аргументом может служить то, что в сфере фронтенда и веба вообще всё развивается настолько стремительно, что мы не знаем, через какие устройства к нам будут ходить люди.
            И вот тут включается экономическая составляющая: действительно, лучше запилить несколько новых фич, которые привлекут посетителей, чем заниматься повышением доступности сайта для каких-то эфемерных инвалидов. То же самое и про js — причины, по которым сайт в теории должен работать без js понятны и разумны, но средства, которые нужно потратить на это не сопоставимы с выгодой и размером аудитории.

            Собственно, поэтому я и создал опрос и вообще поднял эту тему: на конференциях говорят одно, но в жизни всё не так, хочется разобраться в вопросе.

            Если бы можно было сделать сайт полностью доступным для всех людей (вне зависимости от браузера, физических способностей, качества интернета и т.п.) за пару дней, я бы лично тратил на это время. Как минимум, ничего плохого в этом нет, а на самом деле есть довольно много хорошего (как минимум для тех же людей с ограниченными возможностями, у которых итак жизнь не сахар). Но, к сожалению, нужно на это далеко не пару дней, поэтому никто даже и не пытается. Ну и помимо дороговизны, это ещё и очень нудные вещи, на самом деле — проставлять все aria-атрибуты или дебажить производительность какого-нибудь слайдера не самая интересная работа, это тоже отталкивает людей от этих вопросов.
              +1
              Я специально уточнил про контент сайта. Плохо видящим людям такой контент не нужен.
              Что касается JS (вы ниже написали), то если клиент целенаправленно хочет его сломать, то зачем запрещать ему это делать?
                +1
                Ограниченные возможности — это не только плохое зрение. Человек может прекрасно видеть, но не иметь возможность использовать мышь, например.
                Клиент ничего целенаправленно не делает, они ни о чём не знает и не думает. И не надо ему об этом думать, по-хорошему. Сейчас эта задача решается тем, что js везде включён и выключить его не так-то легко, поэтому никто этим и не занимается. Но если бы js вообще был опционален, было бы ещё лучше. Но, повторюсь, я сам этим стану заморачиваться только если это станет экономически целесообразно.
                  0
                  Ну мышь, кстати, неудобно использовать в дороге.
                  Когда с ноутбуком в автобусе например.
              +1

              Незрячим нужна семантическая разметка документа. Для SEO нужна семантическая разметка.


              Поисковые роботы ведут себя почти так же, как программы чтения с экрана. Оптимизируете для одних — получаете оптимизацию для других

            +3
            Уделяете ли вы внимание прогрессивному улучшению и работе сайта без js


            Вот бы отдельно эти два вопроса. Первое да (прогрессивный рендеринг), второе категорически нет. Частичный рендер без JS на начальном этапе — да, но сколько нибудь полноценная работа без JS не предполагается и видится совершенно бессмысленной.
              +3
              Аналогично. Пришел клиент — говорит а вот мне сказали, чтобы без JS все было тип-топ. Предложил ему показать, где в браузере он отключается
                –4
                Один из аргументов в пользу работы без js является то, что он может быть сломан вашим кодом или чем-то, что крутится у клиента. То есть пользователь ничего не выключал, но пользоваться сайтом не может. Интересно было бы увидеть статистику именно таких случаев. Понятно, что тех, кто отключает js обычно около 0.1%, а вот сколько поломанных?
                Но мы у себя опять же ничего специально не делаем для работы без js — слишком это дорого выходит в пересчёте на таких посетителей.
                  0
                  Так зачем ломать JS своим же кодом? Нужно сразу писать, чтобы ошибок не было.
                  За более чем 10 лет ни одного «поломанного» не припомню
                    +1
                    Это разумеется. Но а) не всё можно отловить и б) у клиентов может быть настолько непредсказуемая экосистема, что код сломается всё-равно. То, что вы «не припомните», совсем не значит, что ни одного не было. Я вот тоже в своей практике с таким не сталкивался, но вполне допускаю, что они были. Именно поэтому и интересно было в процентном соотношении увидеть.
                      0

                      а) не бывает, только в случае ошибок, числом которых можно пренебречь и которые равновероятно могут возникнуть даже в серверном софте (пример: вчера у меня не работал paypal из-за того что отдавался битый скрипт, позвонил в саппорт, ресурсов потрачено ровно человеко-час саппорта вместо нескольких человеколет разработчиков)
                      б) да, бывает, сталкивался с таким:


                      • блокируются скрипты, (по неопытности) названные banner.js, ad.js, ...: решается тикетом и переименованием скрипта; если под это попадает какой-то % пользователей, кто-нибудь да напишет. возможно даже заметит кто-то из разработчиков.
                      • плагины могут что-то испортить: испортят они скорее всего везде и наверное пользователь даже это заметит сам, не заметит — напишет
                      • падать начинает обычно не прямо сразу на первой страничке, а где-то в дебрях сервиса, то есть пользователь уже вовлечён в процесс и не уйдёт
                      • если важно, что работает некий первоначальный функционал сервиса, это решается на порядок меньшими затратами сбором метрик+ошибок и анализом значимых отклонений
                        0
                        Да я и не спорю, как я уже говорил, наши сайты без js тоже не работают, потому что жалко времени на эти десятые процента. Но если бы стоимость внедрения этих методик была незначительной, я бы их применял.
                        Ну и понятно, что речь не идёт про 100% функционала. Какую-нибудь Яндекс.Музыку без js не сделать при всём желании. Но какие-то действительно критичные для бизнеса вещи вполне можно анализировать в этом ключе.
                          0

                          Компания с годовой выручкой $8.6B пришла к выводу, что личный кабинет и поиск без js не нужны. Это я скорее отвечая на вопрос "в процентном соотношении".

                        0

                        del

                        +2
                        Нужно сразу писать, чтобы ошибок не было


                        Вы дословно повторили мою любимую шутку: Тесты? Нет у нас тестов, мы сразу без ошибок пишем!.
                          0
                          Строго говоря, в определение "сразу писать, чтобы ошибок не было" вполне могут входить и тесты.
                          Но предложение утопичное, да.
                            0
                            Скажем, в автотестах я ничего не смыслю, но в большинстве случаев пишу не самый сложный и разухабистый JS, да и проекты у меня все маленькие, ессно, тесты «на коленке» на разных ОСях и браузерах в пределах ТЗ/договора для всего вновь написанного проводятся и не мной одним.
                            0
                            Даже если «сразу писать, чтобы ошибок не было», проблемы всё равно могут возникнуть: https://www.youtube.com/watch?v=FlxpXoiiiT4&feature=youtu.be&t=7h43m9s
                        0
                        Добавил. Не стал изначально разделять, потому что не верю, что хотя бы 5% делают доступность без js. Но для чистоты опроса и проверки моей гипотезы — пусть будет. Жаль только, что порядок опросов нельзя менять в редакторе.
                          0
                          Пришлось удалить старый вопрос и создать новый: из-за редактирования голоса перестали совпадать с ответами…
                        +1
                        Хороший опрос, но пару предложений:
                        1) нет варианта — «Да, но понемногу» или «когда есть время в спринте»
                        — ИМХО частая ситуация
                        2) не уточнялось в какого рода компании это все просиходит
                        — онлайн-ритейл / медиа / продуктовая разработка и тд, это сразу покажет какая отрасль более реагирует на те или иные подходы-улучшения-стандарты
                          0
                          Варианты редактировать уже не стану, поскольку и проголосовавших много и редактирование подглючивает, а вот новый вопрос добавить могу. Нужно только более чётко варианты сформулировать.
                          0
                          Как пользователь я всеми руками за работу сайта без JS, но во-первых это ведет к огромному дублированию функционала, во-вторых, давайте будем честными, люди которые выключают JS они не просто в меньшинстве, они еще как правило и приносят минимальную прибыль. Но как разработчик я радуюсь, что последние несколько лет работа сайта без JS стала де-факто необязательной для большинства заказчиков.
                          0
                          Интересно было бы в комментариях пообщаться с теми, кто придерживается стандартов: как организован процесс, насколько это удорожает разработку, как валидируется качество и т.п.

                          Only users with full accounts can post comments. Log in, please.