diff options
Diffstat (limited to 'addons/web/static/src/js/fields')
| -rw-r--r-- | addons/web/static/src/js/fields/abstract_field.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/fields/basic_fields.js | 22 | ||||
| -rw-r--r-- | addons/web/static/src/js/fields/relational_fields.js | 2 |
3 files changed, 19 insertions, 7 deletions
diff --git a/addons/web/static/src/js/fields/abstract_field.js b/addons/web/static/src/js/fields/abstract_field.js index 9bb61475b83..eab0093ed50 100644 --- a/addons/web/static/src/js/fields/abstract_field.js +++ b/addons/web/static/src/js/fields/abstract_field.js @@ -310,6 +310,7 @@ var AbstractField = Widget.extend({ */ removeInvalidClass: function () { this.$el.removeClass('o_field_invalid'); + this.$el.removeAttr('aria-invalid'); }, /** @@ -317,6 +318,7 @@ var AbstractField = Widget.extend({ */ setInvalidClass: function () { this.$el.addClass('o_field_invalid'); + this.$el.attr('aria-invalid', 'true'); }, /** diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 43b4e349a66..0cf9271de9d 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -397,9 +397,10 @@ var LinkButton = AbstractField.extend({ if (this.value) { var className = this.attrs.icon || 'fa-globe'; - this.$el.html("<span />"); + this.$el.html("<span role='img'/>"); this.$el.addClass("fa "+ className); this.$el.attr('title', this.value); + this.$el.attr('aria-label', this.value); } }, @@ -1460,6 +1461,7 @@ var PriorityWidget = AbstractField.extend({ _renderStar: function (tag, isFull, index, tip) { return $(tag) .attr('title', tip) + .attr('aria-label', tip) .attr('data-index', index) .addClass('o_priority_star fa') .toggleClass('fa-star', isFull) @@ -1529,7 +1531,8 @@ var AttachmentImage = AbstractField.extend({ if (this.value) { this.$el.empty().append($('<img>/', { src: "/web/image/" + this.value.data.id + "?unique=1", - title: this.value.data.display_name + title: this.value.data.display_name, + alt: _("Image") })); } } @@ -1598,7 +1601,9 @@ var StateSelectionWidget = AbstractField.extend({ this.$('.o_status') .removeClass('o_status_red o_status_green') .addClass(currentState.state_class) - .prop('special_click', true); + .prop('special_click', true) + .parent().attr('title', currentState.state_name) + .attr('aria-label', currentState.state_name); // Render "FormSelection.Items" and move it into "FormSelection" var $items = $(qweb.render('FormSelection.items', { @@ -1662,8 +1667,9 @@ var FavoriteWidget = AbstractField.extend({ * @private */ _render: function () { - var template = this.attrs.nolabel ? '<a href="#"><i class="fa %s" title="%s"></i></a>' : '<a href="#"><i class="fa %s"></i> %s</a>'; - this.$el.empty().append(_.str.sprintf(template, this.value ? 'fa-star' : 'fa-star-o', this.value ? _t('Remove from Favorites') : _t('Add to Favorites'))); + var tip = this.value ? _t('Remove from Favorites') : _t('Add to Favorites'); + var template = this.attrs.nolabel ? '<a href="#"><i class="fa %s" title="%s" aria-label="%s" role="img"></i></a>' : '<a href="#"><i class="fa %s" role="img" aria-label="%s"> %s</i></a>'; + this.$el.empty().append(_.str.sprintf(template, this.value ? 'fa-star' : 'fa-star-o', tip, tip)); }, //-------------------------------------------------------------------------- @@ -2043,7 +2049,10 @@ var FieldProgressBar = AbstractField.extend({ widthComplete = 100; } - this.$('.o_progress').toggleClass('o_progress_overflow', value > max_value); + this.$('.o_progress').toggleClass('o_progress_overflow', value > max_value) + .attr('aria-valuemin', '0') + .attr('aria-valuemax', max_value) + .attr('aria-valuenow', value); this.$('.o_progressbar_complete').css('width', widthComplete + '%'); if (!this.write_mode) { @@ -2100,6 +2109,7 @@ var FieldToggleBoolean = AbstractField.extend({ .toggleClass('text-muted', !this.value); var title = this.value ? this.attrs.options.active : this.attrs.options.inactive; this.$el.attr('title', title); + this.$el.attr('aria-pressed', this.value); }, //-------------------------------------------------------------------------- diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index c86411b6cd9..83ce59f1eb6 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -1867,7 +1867,7 @@ var FormFieldMany2ManyTags = FieldMany2ManyTags.extend({ var $target = $(ev.currentTarget); var color = $target.data('color'); var id = $target.data('id'); - var tag = this.$("span.badge[data-id='" + id + "']"); + var tag = this.$("button.badge[data-id='" + id + "']"); var currentColor = tag.data('color'); var changes = {}; |
