rubocop-rails-accessibility 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2def62d1c73f8ef14e06d1eaca55ca244d12cd2e924f8a0d7025ade68f0b36a4
4
- data.tar.gz: 8b229af38423902ebe468cf0d2a77803dcf0f3df785ffab6e1f43e45a55bc246
3
+ metadata.gz: dfefa9c0d0ed3f7de492a5f4db9d7922c23adbf17ffe74772e26ab45c071ac03
4
+ data.tar.gz: 8e2f7cd26c99130c1feed4b9907134b9c18cd5d087c7c60b3cf16a7a56483997
5
5
  SHA512:
6
- metadata.gz: 91d417a156fb4c761264ad623f762a52b2864f0848c38e7ff15d7f467fa26c283d7ab1170fd00b880b177158dfaeafc343264c286a9bcf8cd70c25fd10a19df8
7
- data.tar.gz: 38e510e2d4014dc6ccccc71ee97841425e3f55df36b3b673092a0a7101dc5fb019d8b3eb8a4f6692530b933f2ce0d9a6eb99cc679401f573ee017c905521c68e
6
+ metadata.gz: 4eb47ee8c19bb6eaa3dcecb77f6f23ada53c304470a7dbcf823d620839f085fed9282f6b9c4bff3988a44f303481020ab7fcea6b9b92061597132e650ebd538c
7
+ data.tar.gz: 6e4b29a3a70ee5fe1531c7e68084c72c799ab58e7e6fe6a49211180e8ca506da38d59971bc143066918f7340fc67ce0f0574ac821892a14ae84242b14767dc1a
data/README.md CHANGED
@@ -25,9 +25,8 @@ You need to tell RuboCop to load RuboCop Rails Accessibility.
25
25
  Put this into your `.rubocop.yml`.
26
26
 
27
27
  ``` yaml
28
- inherit_gem:
29
- rubocop-rails-accessibility:
30
- - config/default.yml
28
+ require:
29
+ - rubocop-rails-accessibility
31
30
  ```
32
31
 
33
32
  ## Testing
@@ -47,14 +46,14 @@ bundle exec rake
47
46
  ## The Cops
48
47
 
49
48
  All cops are located under
50
- [`lib/rubocop/cop/rubocop-rails-accessibility`](lib/rubocop/cop/rubocop-rails-accessibility), and contain
49
+ [`lib/rubocop/cop/rails_accessibility`](lib/rubocop/cop/rails_accessibility), and contain
51
50
  examples/documentation.
52
51
 
53
52
  ## Rules
54
53
 
55
- - [RuboCop::Cop::Accessibility::ImageHasAlt](guides/image-has-alt.md)
56
- - [RuboCop::Cop::Accessibility::NoPositiveTabindex](guides/no-positive-tabindex.md)
57
- - [RuboCop::Cop::Accessibility::NoRedundantImageAlt](guides/no-redundant-image-alt.md)
54
+ - [RailsAccessibility/ImageHasAlt](guides/image-has-alt.md)
55
+ - [RailsAccessibility/NoPositiveTabindex](guides/no-positive-tabindex.md)
56
+ - [RailsAccessibility/NoRedundantImageAlt](guides/no-redundant-image-alt.md)
58
57
 
59
58
  ## Contributing
60
59
 
data/config/default.yml CHANGED
@@ -1,15 +1,11 @@
1
- require:
2
- - rubocop/cop/rubocop_rails_accessibility_cops
3
-
4
- AllCops:
5
- DisabledByDefault: true
6
-
7
- RubocopRailsAccessibility/ImageHasAlt:
1
+ RailsAccessibility/ImageHasAlt:
8
2
  Enabled: true
9
3
  StyleGuide: https://github.com/github/rubocop-rails-accessibility/blob/master/guides/image-has-alt.md
10
- RubocopRailsAccessibility/NoPositiveTabindex:
4
+
5
+ RailsAccessibility/NoPositiveTabindex:
11
6
  Enabled: true
12
7
  StyleGuide: https://github.com/github/rubocop-rails-accessibility/blob/master/guides/no-positive-tabindex.md
13
- RubocopRailsAccessibility/NoRedundantImageAlt:
8
+
9
+ RailsAccessibility/NoRedundantImageAlt:
14
10
  Enabled: true
15
11
  StyleGuide: https://github.com/github/rubocop-rails-accessibility/blob/master/guides/no-redundant-image-alt.md
@@ -1,4 +1,4 @@
1
- # RubocopRailsAccessibility/ImageHasAlt
1
+ # RailsAccessibility/ImageHasAlt
2
2
 
3
3
  ## Rule Details
4
4
 
@@ -26,4 +26,4 @@ Images should have an alt prop with meaningful text or an empty string for decor
26
26
  ```erb
27
27
  <!-- also good -->
28
28
  <%= image_tag "spinners/octocat-spinner-16px.gif", size: "12x12", alt: "" %>
29
- ```
29
+ ```
@@ -1,4 +1,4 @@
1
- # RubocopRailsAccessibility/NoPositiveTabindex
1
+ # RailsAccessibility/NoPositiveTabindex
2
2
 
3
3
  ## Rule Details
4
4
 
@@ -21,4 +21,4 @@ Positive tabindex is error-prone and often inaccessible.
21
21
  ```erb
22
22
  <!-- good -->
23
23
  <%= button_tag "Continue", :tabindex => -1 %>
24
- ```
24
+ ```
@@ -1,4 +1,4 @@
1
- # RubocopRailsAccessibility/NoRedundantImageAlt
1
+ # RailsAccessibility/NoRedundantImageAlt
2
2
 
3
3
  ## Rule Details
4
4
 
@@ -21,4 +21,4 @@ Alt prop should not contain `image` or `picture` as screen readers already annou
21
21
  ```erb
22
22
  <!-- good -->
23
23
  <%= image_tag "cat.gif", size: "12x12", alt: "A black cat" %>
24
- ```
24
+ ```
@@ -4,7 +4,7 @@ require "rubocop"
4
4
 
5
5
  module RuboCop
6
6
  module Cop
7
- module RubocopRailsAccessibility
7
+ module RailsAccessibility
8
8
  class ImageHasAlt < Base
9
9
  MSG = "Images should have an alt prop with meaningful text or an empty string for decorative images"
10
10
 
@@ -4,7 +4,7 @@ require "rubocop"
4
4
 
5
5
  module RuboCop
6
6
  module Cop
7
- module RubocopRailsAccessibility
7
+ module RailsAccessibility
8
8
  class NoPositiveTabindex < Base
9
9
  MSG = "Positive tabindex is error-prone and often inaccessible."
10
10
 
@@ -4,7 +4,7 @@ require "rubocop"
4
4
 
5
5
  module RuboCop
6
6
  module Cop
7
- module RubocopRailsAccessibility
7
+ module RailsAccessibility
8
8
  class NoRedundantImageAlt < Base
9
9
  MSG = "Alt prop should not contain `image` or `picture` as screen readers already announce the element as an image"
10
10
  REDUNDANT_ALT_WORDS = %w[image picture].freeze
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rubocop"
4
+
5
+ # The original code is from https://github.com/rubocop/rubocop-rspec/blob/main/lib/rubocop/rspec/inject.rb
6
+ # See https://github.com/rubocop/rubocop-rspec/blob/main/MIT-LICENSE.md
7
+ module RuboCop
8
+ module RailsAccessibility
9
+ module Inject
10
+ def self.defaults!
11
+ path = CONFIG_DEFAULT.to_s
12
+ hash = ::RuboCop::ConfigLoader.send(:load_yaml_configuration, path)
13
+ config = ::RuboCop::Config.new(hash, path).tap(&:make_excludes_absolute)
14
+ puts "configuration from #{path}" if ::RuboCop::ConfigLoader.debug?
15
+ config = ::RuboCop::ConfigLoader.merge_with_default(config, path)
16
+ ::RuboCop::ConfigLoader.instance_variable_set(:@default_configuration, config)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module RailsAccessibility
5
+ VERSION = "0.2.0"
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "pathname"
4
+
5
+ module RuboCop
6
+ module RailsAccessibility
7
+ PROJECT_ROOT = Pathname.new(__dir__).parent.parent.expand_path.freeze
8
+ CONFIG_DEFAULT = PROJECT_ROOT.join("config", "default.yml").freeze
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rubocop"
4
+ require "rubocop/rails_accessibility"
5
+ require "rubocop/rails_accessibility/inject"
6
+ require "rubocop/rails_accessibility/version"
7
+
8
+ RuboCop::RailsAccessibility::Inject.defaults!
9
+
10
+ require "rubocop/cop/rails_accessibility/image_has_alt"
11
+ require "rubocop/cop/rails_accessibility/no_positive_tabindex"
12
+ require "rubocop/cop/rails_accessibility/no_redundant_image_alt"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-rails-accessibility
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub Accessibility Team
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-22 00:00:00.000000000 Z
11
+ date: 2022-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -129,26 +129,20 @@ executables: []
129
129
  extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
- - ".rspec"
133
- - ".rubocop.yml"
134
- - CODEOWNERS
135
132
  - CONTRIBUTING.md
136
- - Gemfile
137
- - Gemfile.lock
138
133
  - LICENSE
139
134
  - README.md
140
- - Rakefile
141
135
  - config/default.yml
142
136
  - guides/image-has-alt.md
143
137
  - guides/no-positive-tabindex.md
144
138
  - guides/no-redundant-image-alt.md
145
- - lib/rubocop/cop/inject.rb
146
- - lib/rubocop/cop/rubocop-rails-accessibility/image_has_alt.rb
147
- - lib/rubocop/cop/rubocop-rails-accessibility/no_positive_tabindex.rb
148
- - lib/rubocop/cop/rubocop-rails-accessibility/no_redundant_image_alt.rb
149
- - lib/rubocop/cop/rubocop_rails_accessibility_cops.rb
150
- - lib/rubocop/cop/version.rb
151
- - rubocop-rails-accessibility.gemspec
139
+ - lib/rubocop-rails-accessibility.rb
140
+ - lib/rubocop/cop/rails_accessibility/image_has_alt.rb
141
+ - lib/rubocop/cop/rails_accessibility/no_positive_tabindex.rb
142
+ - lib/rubocop/cop/rails_accessibility/no_redundant_image_alt.rb
143
+ - lib/rubocop/rails_accessibility.rb
144
+ - lib/rubocop/rails_accessibility/inject.rb
145
+ - lib/rubocop/rails_accessibility/version.rb
152
146
  homepage: https://github.com/github/rubocop-rails-accessibility
153
147
  licenses:
154
148
  - MIT
@@ -175,5 +169,5 @@ requirements: []
175
169
  rubygems_version: 3.3.10
176
170
  signing_key:
177
171
  specification_version: 4
178
- summary: Custom extension for RuboCop.
172
+ summary: Custom RuboCop rules for Rails Accessibility.
179
173
  test_files: []
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --color
3
- --require spec_helper
data/.rubocop.yml DELETED
@@ -1,9 +0,0 @@
1
- inherit_gem:
2
- rubocop-github:
3
- - config/default.yml
4
- - config/rails.yml
5
-
6
- Naming/FileName:
7
- Enabled: true
8
- Exclude:
9
- - "rubocop-rails-accessibility.gemspec"
data/CODEOWNERS DELETED
@@ -1 +0,0 @@
1
- * @github/accessibility-reviewers
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- # Specify your gem's dependencies in rubocop-rails-accessibility.gemspec
6
- gemspec
data/Gemfile.lock DELETED
@@ -1,108 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- rubocop-rails-accessibility (0.1.2)
5
- rubocop (>= 1.0.0)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- actionview (7.0.3.1)
11
- activesupport (= 7.0.3.1)
12
- builder (~> 3.1)
13
- erubi (~> 1.4)
14
- rails-dom-testing (~> 2.0)
15
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
16
- activesupport (7.0.3.1)
17
- concurrent-ruby (~> 1.0, >= 1.0.2)
18
- i18n (>= 1.6, < 2)
19
- minitest (>= 5.1)
20
- tzinfo (~> 2.0)
21
- ast (2.4.2)
22
- builder (3.2.4)
23
- concurrent-ruby (1.1.10)
24
- crass (1.0.6)
25
- diff-lcs (1.5.0)
26
- erubi (1.11.0)
27
- i18n (1.12.0)
28
- concurrent-ruby (~> 1.0)
29
- json (2.6.2)
30
- loofah (2.18.0)
31
- crass (~> 1.0.2)
32
- nokogiri (>= 1.5.9)
33
- minitest (5.16.3)
34
- nokogiri (1.13.8-x86_64-darwin)
35
- racc (~> 1.4)
36
- nokogiri (1.13.8-x86_64-linux)
37
- racc (~> 1.4)
38
- parallel (1.22.1)
39
- parser (3.1.2.0)
40
- ast (~> 2.4.1)
41
- racc (1.6.0)
42
- rack (2.2.4)
43
- rails-dom-testing (2.0.3)
44
- activesupport (>= 4.2.0)
45
- nokogiri (>= 1.6)
46
- rails-html-sanitizer (1.4.3)
47
- loofah (~> 2.3)
48
- rainbow (3.1.1)
49
- rake (13.0.6)
50
- regexp_parser (2.5.0)
51
- rexml (3.2.5)
52
- rspec (3.11.0)
53
- rspec-core (~> 3.11.0)
54
- rspec-expectations (~> 3.11.0)
55
- rspec-mocks (~> 3.11.0)
56
- rspec-core (3.11.0)
57
- rspec-support (~> 3.11.0)
58
- rspec-expectations (3.11.0)
59
- diff-lcs (>= 1.2.0, < 2.0)
60
- rspec-support (~> 3.11.0)
61
- rspec-mocks (3.11.1)
62
- diff-lcs (>= 1.2.0, < 2.0)
63
- rspec-support (~> 3.11.0)
64
- rspec-support (3.11.0)
65
- rubocop (1.31.2)
66
- json (~> 2.3)
67
- parallel (~> 1.10)
68
- parser (>= 3.1.0.0)
69
- rainbow (>= 2.2.2, < 4.0)
70
- regexp_parser (>= 1.8, < 3.0)
71
- rexml (>= 3.2.5, < 4.0)
72
- rubocop-ast (>= 1.18.0, < 2.0)
73
- ruby-progressbar (~> 1.7)
74
- unicode-display_width (>= 1.4.0, < 3.0)
75
- rubocop-ast (1.19.1)
76
- parser (>= 3.1.1.0)
77
- rubocop-github (0.18.0)
78
- rubocop (>= 1.0.0)
79
- rubocop-performance
80
- rubocop-rails
81
- rubocop-performance (1.14.3)
82
- rubocop (>= 1.7.0, < 2.0)
83
- rubocop-ast (>= 0.4.0)
84
- rubocop-rails (2.15.2)
85
- activesupport (>= 4.2.0)
86
- rack (>= 1.1)
87
- rubocop (>= 1.7.0, < 2.0)
88
- ruby-progressbar (1.11.0)
89
- tzinfo (2.0.5)
90
- concurrent-ruby (~> 1.0)
91
- unicode-display_width (2.2.0)
92
-
93
- PLATFORMS
94
- x86_64-darwin-19
95
- x86_64-linux
96
-
97
- DEPENDENCIES
98
- actionview
99
- minitest
100
- rake (~> 13.0)
101
- rspec (~> 3.0)
102
- rubocop-github
103
- rubocop-performance
104
- rubocop-rails
105
- rubocop-rails-accessibility!
106
-
107
- BUNDLED WITH
108
- 2.3.17
data/Rakefile DELETED
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/gem_tasks"
4
- require "rake/testtask"
5
- require "rspec/core/rake_task"
6
-
7
- Rake::TestTask.new
8
-
9
- RSpec::Core::RakeTask.new(:spec)
10
-
11
- require "rubocop/rake_task"
12
-
13
- RuboCop::RakeTask.new
14
-
15
- task default: %i[test rubocop]
16
-
17
- desc "Generate a new cop with a template"
18
- task :new_cop, [:cop] do |_task, args|
19
- require "rubocop"
20
-
21
- cop_name = args.fetch(:cop) do
22
- warn "usage: bundle exec rake 'new_cop[Department/Name]'"
23
- exit!
24
- end
25
-
26
- generator = RuboCop::Cop::Generator.new(cop_name)
27
-
28
- generator.write_source
29
- generator.write_spec
30
- generator.inject_require(root_file_path: "lib/rubocop-rails-accessibility.rb")
31
- generator.inject_config(config_file_path: "config/default.yml")
32
-
33
- puts generator.todo
34
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rubocop"
4
-
5
- # The original code is from https://github.com/rubocop/rubocop-rspec/blob/main/lib/rubocop/rspec/inject.rb
6
- # See https://github.com/rubocop/rubocop-rspec/blob/main/MIT-LICENSE.md
7
- module RubocopRailsAccessibility
8
- module Inject
9
- def self.defaults!
10
- path = CONFIG_DEFAULT.to_s
11
- hash = ::RuboCop::ConfigLoader.send(:load_yaml_configuration, path)
12
- config = ::RuboCop::Config.new(hash, path).tap(&:make_excludes_absolute)
13
- puts "configuration from #{path}" if ::RuboCop::ConfigLoader.debug?
14
- config = ::RuboCop::ConfigLoader.merge_with_default(config, path)
15
- ::RuboCop::ConfigLoader.instance_variable_set(:@default_configuration, config)
16
- end
17
- end
18
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "pathname"
4
- require "yaml"
5
-
6
- require_relative "inject"
7
- require_relative "version"
8
- require_relative "rubocop-rails-accessibility/image_has_alt"
9
- require_relative "rubocop-rails-accessibility/no_positive_tabindex"
10
- require_relative "rubocop-rails-accessibility/no_redundant_image_alt"
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RubocopRailsAccessibility
4
- VERSION = "0.1.2"
5
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/rubocop/cop/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "rubocop-rails-accessibility"
7
- spec.version = RubocopRailsAccessibility::VERSION
8
- spec.authors = ["GitHub Accessibility Team"]
9
- spec.email = ["accessibility@github.com"]
10
-
11
- spec.summary = "Custom extension for RuboCop."
12
- spec.homepage = "https://github.com/github/rubocop-rails-accessibility"
13
- spec.license = "MIT"
14
- spec.required_ruby_version = ">= 2.7.0"
15
-
16
- spec.metadata["homepage_uri"] = spec.homepage
17
- spec.metadata["source_code_uri"] = spec.homepage
18
- spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/CHANGELOG.md"
19
- spec.metadata["rubygems_mfa_required"] = "true"
20
-
21
- spec.add_dependency "rubocop", ">= 1.0.0"
22
-
23
- spec.add_development_dependency "actionview"
24
- spec.add_development_dependency "minitest"
25
- spec.add_development_dependency "rake", "~> 13.0"
26
- spec.add_development_dependency "rspec", "~> 3.0"
27
- spec.add_development_dependency "rubocop-github"
28
- spec.add_development_dependency "rubocop-rails"
29
- spec.add_development_dependency "rubocop-performance"
30
-
31
- # Specify which files should be added to the gem when it is released.
32
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
33
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
34
- `git ls-files -z`.split("\x0").reject do |f|
35
- (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
36
- end
37
- end
38
- spec.bindir = "exe"
39
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
40
- spec.require_paths = ["lib"]
41
- end