по мне так айди не особо и помогает, ну вот например:
есть кнопка или там поле ввода, для них разрабы могут сделать айди если попросишь, это понятно. Но поможет ли этот айди? Нет. Так как для них xpath написать проще пареной репы
или например есть поле ввода и лейбл. напряжешь программистов и они добавят айдишник на поле ввода? а на лейбл нет айдишника, будешь из-за него напрягать программистов или напишешь простейший xpath? а потом еще окажется что есть inline-отображение ошибки возле этого поля, опять надо кого-то напрягать? Да все устанут пушить такие мелочи целыми неделями
а вот когда деревья будут, и таблицы, особенно таблицы с опциональным столбцами которые можно добавлять и убирать, и таблицы с сортировкой и фильтрацией - тогда тут айдишники добавлять вообще практически бесполезно. все равно будешь работать со сложными xpath и с parent и child
Ну во первых разрабы не перенапрягутся от этого, да я и сам могу айдишников напихать. Во вторых очевидно что айди не всегда можно юзать.
Вообще я пообщался с парой фронтендеров и узнал ответ на свой вопрос. Никто не мешает юзать айдишники если это воможно, Страница не сильно разжиреет(никто этого не почувствует), ни безопасность, ни стиль и абсолютно ничего не ухудшится. Единственный момент, что если вы работаете в большой команде где много разрабов на фронте то лучше использовать data атрибуты(это кастомные атрибуты), если юзать их то можно получить защиту от случайного выпиливания или изменения id элемента(на который подвязан жс о котором никто не помнит и не знает например).
Например на сайте тенькова есть атрибуты data-qa-*