Files
openproject/.erb_lint.yml
Alexander Brandon Coles e8767481e9 [#70166] Fix accessibility errors found by ERB Lint (#21503)
* Fix GitHub/NoTitleAttribute, LinkHasHref errors

- Replaces `title` attribute with `aria-label` for interactive elements.
- Removes `title` from non-interactive elements.
- Converts `<a>` tags without proper `href` to `<button>` elements,
  using Primer `Button`/`IconButton` where possible.

# Conflicts:
#	app/views/custom_fields/_custom_options.html.erb
#	spec/features/admin/custom_fields/shared_custom_field_expectations.rb
#	spec/features/admin/custom_fields/work_packages/list_spec.rb

* Fix Autocomplete missing errors

* Fix GitHub/NoPositiveTabIndex errors

Removes all positive `tabindex` values.

* Fix Rails/LinkToBlank errors

* Replace toast with Primer Banner on LDAP form

* Add frozen_string_literal

* Ignore erb lint for deprecated files

* Fix linting errors in repository module

* Fix linting errors in budgets and custom actions

* Fix linting errors in member form and 2fa

* Fix linting errors in mcost types and wiki help and storages

* Fix linting errors in multi select filters, ifc viewer, and unsupported browser banner

* Fix failing spec

* Use Primer banner instead of op-toast where ever it is possible

* Use octicon instead of op_icon

* Fix failing tests

* Use no-decoration-on-hover for button links and change the button with only an icon to primer icon button

* Keep webhook response modal activation selector class-based

* use icon button for edit of hourly rate

---------

Co-authored-by: Behrokh Satarnejad <b.satarnejad@openproject.com>
2026-05-07 10:31:10 +02:00

45 lines
1.1 KiB
YAML

---
EnableDefaultLinters: true
inherit_gem:
erblint-github:
- config/accessibility.yml
exclude:
- '**/frontend/**/*'
- 'lookbook/previews/open_project/deprecated/**/*'
- '**/node_modules/**/*'
- '**/vendor/**/*'
linters:
ErbSafety:
enabled: true
Rubocop:
enabled: true
rubocop_config:
inherit_from:
- .rubocop.yml
Layout/CommentIndentation:
Enabled: false
Layout/FirstArgumentIndentation:
EnforcedStyle: consistent
Layout/FirstMethodArgumentLineBreak:
Enabled: true
Layout/InitialIndentation:
Enabled: false
Layout/LeadingEmptyLines:
Enabled: false
Layout/LineLength:
Enabled: false
Layout/TrailingEmptyLines:
Enabled: false
Layout/TrailingWhitespace:
Enabled: false
Lint/UselessAssignment:
Enabled: false
Naming/FileName:
Enabled: false
Rails/OutputSafety:
Enabled: true
Style/FrozenStringLiteralComment:
Enabled: false
Style/RedundantConstantBase:
Enabled: false