Github проверяет, что API игнорирует атрибуты стиля, когда html передается в качестве текста комментария

Я использую API создания проверки запуска GitHub , чтобы создать проверку для моего PR.

Я передаю тело запроса в следующей структуре:

      {
    "name"       : name,
    "head_sha"   : script.env.CI_COMMIT_SHA,
    "status"     : status,
    "details_url": detailsUrl,
    "output"     : {
            "title"  : title,
            "summary": summary,
            "text"   : commentText
    }
}

ПеременнаяcommentTextимеет тип данныхStringсодержащий HTML со встроенными стилями, который выглядит примерно так:

      <table>
   <tbody>
      <tr>
         <th>Change</th>
         <th>Module Name</th>
      </tr>
      <tr>
         <td style = 'color:orange'>Modified</td>
         <td>build_dood_vmss.azurerm_linux_virtual_machine_scale_set.vmss</td>
      </tr>
      <tr>
         <td style = 'color:green'>Added</td>
         <td>build_dood_vmss_test.azurerm_linux_virtual_machine_scale_set.vmss</td>
      </tr>
      <tr>
         <td style = 'color:green'>Added</td>
         <td>build_dood_vmss_test2.azurerm_linux_virtual_machine_scale_set.vmss</td>
      </tr>
      <tr>
         <td style = 'color:green'>Added</td>
         <td>build_dood_vmss_test3.azurerm_linux_virtual_machine_scale_set.vmss</td>
      </tr>
   </tbody>
</table>

API проверок выдает мне код статуса успеха (201 Created) для этого тела, и приведенная выше таблица публикуется на вкладке проверок PR. Но атрибуты встроенного стиля почему-то игнорируются и удаляются из html. Я проверил это, проверив опубликованный HTML-код PR из браузера.

Что мне нужно сделать, чтобы сохранить атрибуты встроенного стиля? Пожалуйста помоги

1 ответ

Каждый фрагмент HTML, полученный из пользовательского контента (HTML, Markdown, AsciiDoc и т. д.) на GitHub, очищается. Этот процесс удаляет весь CSS и JavaScript, включаяstyleатрибуты, поэтому заставить CSS работать невозможно.

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

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

Наконец, GitHub хочет, чтобы сервис был привлекательным, привлекательным и удобным в использовании независимо от используемой цветовой схемы. Разрешение людям устанавливать цвета может привести к тому, что что-то будет отлично работать в светлом режиме, но не будет использоваться в темном режиме, или наоборот. Точно так же очень маленький текст может подойти мне, но не подойдет моему старшему другу с плохим зрением. А позволить пользователям выбирать цвета, которые все считают отвратительными, не приведет к привлекательному виду.

Другие вопросы по тегам