Model-driven development of accessible software: a systematic literature review

The lack of accessibility in software products is a problem, which is difficult to solve, due to the absence of accessible support tools and the scarce training of software professionals in accessibility issues that exist today, which has influenced the development of inaccessible programs, causing a large number of people, including those with some type of disability difficulties to interact with applications easily and quickly. Given this problem, model-driven development has attracted the attention of the accessible software development community, due to its ability to generate code from models. Thus, in the present work, a systematic review was carried out to investigate and analyze the studies related to model-driven development of accessible software, including the revision of standards directly related to software accessibility and the qualitative evaluation of the different existing proposals.


Introduction
Accessibility in the field of information and communication technologies (ICT) according to [1] is the art of guaranteeing that any resource, through any means, is available for all people, regardless of whether or not they have some kind of disability.In order to consider an accessible informatics product or service, it must have certain accessibility features, thus making it possible for most people to use it without much effort.
There are currently some accessibility guidelines defined by the Web Accessibility Initiative (WAI) of the World Wide Web Consortium (W3C), which provide the necessary requirements so that any person, including those with some type of disability, can access ICT easily and quickly, more specifically the applications, information and services offered through the Internet.However, these guidelines are generally not applied at all stages of the development life cycle.
For an application to be successful, it is not enough to satisfy all the functional requirements that are expected of it.The ease or difficulty that users experience with this type of systems will determine to a great extent the success or failure of the same [2].That is why accessibility must be considered at all stages of the development process of construction of applications both in design and development, being a relevant factor to consider when evaluating the quality of software.
This not only favors the user but also saves resources allocated to the software maintenance process, benefiting both the application provider and the end user.An interesting alternative that could deal with the current challenges of accessible applications is the model-driven development or MDD approach and in particular the concrete approach called "Model-Driven Architecture (MDA)," which allows the automatic generation of code through the transformation of models, which can exploit some features such as portability, interoperability, ease of maintenance and reuse [3,4].MDA proposes to work with three levels of models: CIM (independent computing model), PIM (independent platform model) and PSM (specific platform model).
Given the importance of considering accessibility in the model-driven development of software, in the present work a systematic review is carried out on the subject, with the aim of discovering how accessibility is managed in the context of MDD, through the resolution of research questions such as: • How is it suggested that accessibility be considered in the context of model-driven development?• Are there methodological proposals that suggest including accessibility in model-driven development?
The present work is divided as follows: in Sect.3, the method used is described; Sect. 4 presents the results, which are essential for a better understanding of this research; Sect. 5 presents a discussion where the research questions are answered; finally, Sect.6 presents the conclusions and future work.

Background
In this section, the two issues that we will use in the remaining of the article are briefly described: accessibility and model-driven development.The objective of the study is to analyze the research that considers jointly these terms in software development.Also, other systematic literature reviews that may be related to the one that is presented in this article are cited.

Software accessibility
Accessibility indicates the ease with which all people, especially those with some type of disability, can use, visit or access something in general [5].In this sense, it can be said that software accessibility refers to the ease with which all people can perceive, understand, navigate and interact with software products (web, desktop or mobile applications), regardless of the type of software, hardware, network platform, language, culture, geographic location or user capabilities [6].
There are several standards on accessibility that help to obtain a software product with sufficient and adequate accessibility features.It is important to consider that the term "standard" is used in a general way to refer to different provisions: "standard," "specification" or "recommendation," in order to obtain an optimal level of ordering in a context, and to create a common language [7].
In this context, some standards that have been created by different organizations can be mentioned, such as the standards of the International Organization for Standardization (ISO), the Spanish Association for Standardization and Certification (AENOR), the American National Standards Institute (ANSI) and the British Standards Institute (BSI) [5].The recommendations of other organizations that have become true standards for their use in practice are called "de facto" standards, such as the standards of the World Wide Web Consortium (W3C), European Standards Telecommunications Institute (ETSI), Human Factor and Ergonomics Society (HFES), as well as the IMS Global Learning consortium [7].
Due to its universality, studies on software accessibility generally refer mainly to the accessibility of web pages, based on the W3C Web Content Accessibility Guidelines (WCAG) recommendation, whose most recent version (2.1) was published in 2018 [8].WCAG covers a wide range of recommendations to make web content more accessible, guiding web software development teams in the process of building accessible content for people who have some type of disability or who have difficulty interacting with a web application.

Model-driven development (MDD)
Model-driven development (MDD) is basically an approach that proposes the creation of conceptual models of the software to be produced, and the transformation of these models into more detailed ones that can be transformed into code [9].According to this definition, programmers could really be considered model-driven developers, because when they write a program in a language as Java, they do not expect it to run directly, they expect it to become the language of a virtual machine that can make the "model" do its function [10].
The paradigm of model-driven software development has gained the attention of the software engineering community because it raises software development to a higher level of abstraction, reducing the complexity and amount of documentation needed for software projects through the creation of meta-models, where it is also possible to consider different types of accessibility features of WCAG [10].
One of the principles of model-driven development is the automatic transformation of one model into another.Each model, origin and destination, must be expressed in some language.Therefore, it is necessary to establish the two languages in some way and since modeling is appropriate to formalize knowledge, the syntax and semantics of a modeling language can be defined by constructing a modeling language model, also called meta-model.In this sense, the use of a meta-model to represent a domain conceptually is an intelligent solution, since it captures the main concepts of the domain of the model and is presented as a guide that can be extended and improved [11].
A specific proposal to standardize MDD is MDA (Model-Driven Architecture).MDA is an approach to software development, which provides guidelines for creating software through model edition and transformation.The principles on which MDA is based are abstraction, automation and standardization.The central process of MDA is the transformation of models that start from the problem space (CIM) to platform-specific models (PSM), passing through models that describe a solution independently of computing (PIM) [12].
To our knowledge, no systematic literature review work that combines MDD and software accessibility has been published.There are systematic reviews on the application of MDD in software reverse engineering [13], for software testing [14], or for traceability management [15].Revisions have also been published on the combination of accessibility and some other ICT subjects, different from MDD, as electronic communication [16], video games [17], or ambientassisted living technologies [18].Therefore, ours is the first systematic literature review about the application of modeldriven development for managing software accessibility.

Method
The research method used in the present study follows the guidelines of [19], in addition to the process suggested by [15,20].The process can be seen in Fig. 1.
It is important to highlight that the authors of [19] are the creators of guidelines to structure systematic literature reviews (SLR) in software engineering based on the guidelines in the field of medical research.Its guidelines cover planning, conducting and writing comments.Planning involves the definition of the research objectives and the creation of a review protocol that describes the activities to be carried out.The following sections describe the SLR implementation and exploration of the proposed method.
This method was carried out in order to evaluate and interpret the available information that is relevant in relation to the research questions posed.
In the planning stage, the objectives of the research are defined and the way in which the review will be carried out.In the following subsections, the activities related with the planning stage are presented: set research questions (Sect.2.1), set the data sources and the query string used to execute the searches (Sect.3.2), set the inclusion and the exclusion criteria (Sect.3.3), define the quality evaluation (Sect.3.4) and determine the data extracted from each selected study (Sect.3.5).

Research Questions (RQ)
The first step that took place in the planning stage is the definition of the main objective of the systematic review, which is to research and analyze the management of accessibility in the context of model-driven development.In order to achieve this goal, a set of research questions (RQ) were formulated: This question is about investigating the interest that exists in the context of development of accessible software directed by models, specifying the field of study where it is used and what has motivated the authors to carry out studies in this area of knowledge.
RQ2. Which METHOD is proposed for the modeldriven development of accessible software?
Currently, there are methods that provide the possibility to structure, plan and control the development process led by models; however, accessibility standards are not included in their process.Therefore, the objective of this question is to investigate development methods driven by models that suggest including accessibility in the software development process.

RQ3. Which TOOLS or LANGUAGES provide technological support for the integration of accessibility in the context of model-driven development?
The present work has among its objectives to investigate if accessibility management has been considered in the context of model-driven development with the help of tools, programming languages or frameworks.Therefore, the objective of this research question is to analyze if each proposal provides the user with some type of technological support for its implementation.

RQ4. What are the ADVANTAGES offered by the model-driven development of accessible software?
Among the advantages offered by model-driven development is automatic code generation, so this question is about investigating how these advantages are reflected in the development of accessible software.

RQ5. What are the DISADVANTAGES in the context of model-driven development of accessible software?
At the time of implementing in real cases the modeldriven development of accessible software, some inconveniences may arise.In this sense, the objective of this question is to investigate the limitations that may arise in this field, in addition to combining the answers to the previous research questions (RQ1, RQ2, RQ3), to determine the deficiencies or limitations when necessary.It is also necessary to evaluate if there are improvements in this context, in order to analyze the possibility of addressing them in future work.

Data sources and query strings
In the planning stage, the data sources that will be used to search for studies or related works are established and the query chains are defined.
It is important to mention that there is no order of importance of the digital libraries considered for this systematic review, since they were randomly located, which does not affect the results obtained.The most used libraries in related works of systematic reviews within the area of computer science were selected.In addition, those that resulted in a greater number of works related to the subject of study were taken into account.
The digital libraries selected to carry out the search process of this systematic review are detailed below, with the format Name [acronym]: website as follows: • ACM Digital Library [ACM]: https ://porta l.acm.org/;The selected digital libraries use their own search syntax; therefore, the chosen search string has been adapted to each search engine as shown in Table 1.For the search string, some keywords have been combined with logical operators ("OR," "AND").In this way, the following query string has been defined: "accessibility and (MDA or MDSD or MDD or MDE or model driven)."

Inclusion and exclusion criteria
It is important to take into account that certain studies do not offer the necessary information to find the answer to the questions posed in the present investigation.That is why in this review studies of computer science published as detailed below are included.
Since 2010 those that meets at least one of the following inclusion criteria: • The summary concludes that the main purpose of the study is the management of accessibility in modeldriven development; • The title or keywords include "accessibility" and "model-driven development." There are studies that meet the inclusion criteria but do not provide relevant information in relation to the main goal of this systematic review.Therefore, it is important to take into account the following exclusion criteria: • The studies that recognize development driven on models of accessible applications as a possible task, but they do not provide the technique for putting it into practice; • Studies related to accessible software development without considering an approach driven on models.
In the present systematic review, it has been decided to take into account works published since 2010, because the WCAG 2.0 standard, which is the one that has been used worldwide as the main reference in the field of accessibility was published in December 2008, and the first works related to this standard began to appear approximately one year later.

Quality assessment (QA)
Once a series of studies that meet the inclusion and exclusion criteria have been selected, the evaluation of the research quality of each study begins.The guidelines proposed by [19,20] define five questions of quality assessment (QA), in order to assess the quality of research each proposal and to provide a quantitative comparison between them.The score used for each question is: Yes (Y) = 1, Partially (P) = 0.5 or No (N) = 0.The questions of quality assessment defined in the present systematic review are detailed below: • QA1.How clear and coherent is the work?• QA2.How clear is the objective of the research?• QA3.How well can the route be seen from the research objective to the conclusions?• QA4.How well is the research process established?• QA5.How good is the work compared to other related jobs?
These questions can help to consider the disadvantages, external validation and internal validation of the proposals.

Extraction and analysis of data
In this phase, it was necessary to gather all the information of the selected studies to answer the research questions posed.In the first instance, some basic data were collected to identify each study, as detailed below: • Title and authors; • Summary; • Publication (for example, journal, conference, thesis [MSc, MBA, PhD]) and the year of publication.
In addition, in order to carry out an in-depth analysis of the proposed studies, from each of the major studies that met the inclusion criteria and were not discarded by the criteria of exclusion it was decided to extract the following information: • The type of software to which the work is oriented: web, mobile, desktop;  • Modeling languages used: UML, ECL [21], WebML [22], UsiXML [23], HUTN [24]; • Software model-driven development methods used; • Accessibility standards, norms or metrics used to generate the models; • Tools and technology support for the implementation of the proposed approach; • If the proposal has been implemented in a case study; • Advantages of using an MDD approach for accessible software; • Disadvantages of using an MDD approach for accessible software.
In order to group similar works, the studies were located in small and main groups of studies (MSG).Each MSG contains those studies related to a certain proposal, where the ideas belong to the same or a very similar line of research, so it is mainly an evolution of the same hypothesis.

MSG Assessment (GA)
In this section, six research questions are defined to improve the quality of the MSG analysis in relation to the context of the research field (Group Assessment or GA).The scoring procedure used was Yes (Y) 1, Partially (P) 0.5, No (N) 0 or Unknown (that is, there is no detail of the information).
• GA1.Is any type of analysis performed with the information obtained about accessibility?Scoring: Y, if an analysis of metrics or accessibility standards is carried out to take them into account in the development of model-driven software; P, accessibility standards and metrics are mentioned but not taken into account for the construction of the model; N, There is no analysis of the information related to accessibility.• GA2.Are methodologies, frameworks or support tools considered?Scoring: Y, if methodologies, framework or tools are considered for the proposed approach of model-driven development of accessible software; P, the use of some method, technique or model-driven tool is recommended but has not been implemented in the proposed approach; N, methodologies, frameworks or support tools are not considered.
• GA3.Are existing proposals for the model-driven development of accessible software analyzed?Scoring: Y, if an analysis and comparison of the existing proposals for the development of accessible software managed by models are included; P, an analysis is carried out, but does not consider accessibility characteristics; N, the proposal does not perform an analysis of existing works on model-driven development of accessible software.
• GA4.Does the proposal suggest any new method for model-driven development of accessible applications?Scoring: Y, if a method is suggested for the modeldriven development of accessible software; P, some method is mentioned but the phases to implement it are not proposed; N, methodologies are not suggested for the model-driven development of accessible applications.
• GA5.Has the proposal been validated through the application in a case study?Scoring: Y, if the proposed approach has been applied in a case study; P, it recommends to make use of the proposal in a case study but its implementation is not demonstrated; N, the proposal has not been validated through the application of a case study.

Results
This section presents the main results obtained in the systematic review carried out in accordance with the process described in Fig. 1.

Search and selection of the main studies
As mentioned in the description of the process, the first step is the execution of queries on data sources with the query string, which is adapted to the syntax of the search engine.In addition, as established in the inclusion criteria, to minimize the number of results search was limited for the years 2010 to 2018.Table 1 summarizes the possibilities of each data source and the query string.Executing these searches, a total of 1235 results were obtained.The first two columns of Table 2 show the number of results for every source of information.
Next, the main studies were selected, that is, the studies compiled were evaluated in order to consider those that meet the inclusion criteria.In this way, only 58 of 1235 studies met all the established criteria, 4.70% of primary studies of the total of studies obtained.Column 3 of Table 2 shows the number of relevant studies found in each of the digital libraries, while column 4 presents the percentage of relevant studies returned by each source.
It can be seen that the highest percentage of relevant studies according to the number of returned items was in the case of ISI Web of Knowledge, with 52.38%, taking into account that 11 relevant articles were obtained in this library, from a total of 21 items returned.Although it is important to highlight that in Scopus a greater number of relevant studies were found, the number of items returned by this data base was higher.
At the same time, column 5 shows the percentage of relevant studies found in each digital library with respect to the total number of identified relevant studies in all libraries; for example, ACM return 9 relevant studies, which constitutes 15.52% of 57 relevant studies found in this research.In this column it can be seen that most of the relevant studies were found in Scopus and ISI with 18.97% and 20.69%, respectively.
Table 3 refers to the duplicates found in the information search process, showing that 36.21% of the relevant studies found in this review have been duplicated in different data sources.Therefore, we eliminated the copies and consequently a list of 37 unduplicated relevant studies was obtained.
As a result of the analysis of the relevant studies according to the exclusion criteria, only 37 of them (that is, 63.79% of the unduplicated relevant studies) became main studies for this systematic review.After grouping similar studies, a total of 19 main studies groups (MSGs) was obtained.Table 4 shows the complete list of the 19 major groups selected, after the process of grouping the 37 studies according to the characteristics they have in common with respect to the authors and the proposed ideas, as explained in Sect.3.5.Only the most relevant study included in each MSG appears in the table.It is important to note that the references of the respective main studies have been analyzed to identify other relevant works.However, no relevant work has been found that is different from those already found.
The quality of these studies was evaluated according to the assessment questions of Sect.3.4.The score assigned to each study is shown in Table 5, which has been validated by the three authors of this systematic review.The results show that there are four (MSG3, MSG4, MSG9 and MSG12) that reached the maximum score of 5 points, while three MSG reached a score less than 3.The last column ("% Maximum percentage MSG") shows the percentage reached by each MSG with respect to the total score (5).The penultimate row ("% total score") represents the percentage of points obtained by all the MSG with respect to the total number of points obtained by the set of MSG, considering that in all the questions of the quality assessment a total of 78.95 points were obtained.Finally, the last row ("% Maximum percentage QA") corresponds to the percentage of points collected by the values assigned to each question of quality assessment with respect to the maximum number of points that would be possible to obtain, such as 19.The arithmetic average of the scores is 3.95 and the standard deviation is 0.88. Figure 2 shows a pie chart representing the distribution of the scores for quality assessment questions.It can be seen that the first two questions make up 47.33% of the total, while the remaining three questions are distributed in 16-18%.In view of these results, it is concluded that the quality of the research presented by the studies evaluated is good since few studies obtained a score of zero on the established questions.One aspect to be improved is the detail of the research process in the articles analyzed, in order to know the activities carried out to get the results exposed.Another point that should be improved is the implementation of the research proposal in a case study with the help of technological tools, in order to better understand the presented approach.

Results of data extraction
Once the main studies were identified and grouped, the information from each study was extracted, with respect to the data defined in Sect.3.5.The extracted data are shown in two parts in Tables 6 and 7.This information allows us to affirm the main topics that have been addressed in the main studies, such as: type of software (web, desktop, mobile), field of study (E-learning, Wiki, Website Menus, Internet Applications (RIA), Automation Systems, Content Management System, Chats accessible for mobile devices, Web page login), meta-model (general or specific purpose), language of modeling languages (UML, ECL [21], WebML [22], UsiXML [23], HUTN [24]), MDD method, accessibility standards, tools used to implement the proposal in a case study.Regarding the advantages, it was possible to detect the ease with which accessibility requirements can be included in conceptual models and then make transformations in different programming languages, in addition to allowing the inclusion of quality requirements in the early stages of the software development life cycle.On the other hand, the disadvantages exist in the generation of code, so it is important to train staff to perform the necessary tests and changes.Figure 3 1 3 shows a diagram representing the main topics covered by the proposals for accessibility management in the context of MDD, which will be discussed in detail in Sect.5, responding to each of the research questions raised in this systematic review.Figure 3 shows a diagram that represents the main topics covered by the proposals for accessibility management in the context of model-driven development, which are the values that can be observed in Tables 6 and 7.

Results of the MSG assessment (GA)
The assessment of the main studies' groups consists in assigning to each MSG a determined value according to each one of the five evaluation questions defined in Sect.3.5.1.Table 8 shows the score assigned to each MSG with respect to the evaluation questions, which have been established when reaching an agreement the three authors of this systematic review.The results show that two of the MSG obtained a score lower than 2 points; three obtained the highest score being this 4.5 out of 5.In the last column ("% max MSG"), the percentage reached by each MSG is presented through the total score of 5.The penultimate row ("% total score") shows the percentage of points obtained by all the MSG with respect to the total number of points obtained by the entire MSG system in the quality assessment questions defined.The last row ("% max GA") shows the percentage of the points collected by the assigned values for a certain question of quality evaluation with respect to the highest score that can be obtained, that is, the average.The arithmetic average of the scores is 3.26 and the standard deviation is 1.03.The MSGs that obtained the highest score are MSG11 and MSG17 with a rating of 4.5, which represents 90% of the maximum possible score.On the contrary, the MSG2 obtained a score of 0.5 and the MSG6 obtained a score of 1.5, which represent between 10 and 30% of the maximum score that a MSG could achieve.Figure 4 shows the distribution of the scores for the MSG with respect to the established evaluation questions.It can be seen in the figure that 52.42% of the total score is distributed in the first two questions, while questions 3 (method), 4 (implementation) and 5 (accessibility in the models) represent 47.58%.The studies that obtained the highest score (MSG11 and MSG12) have the necessary information to understand the model-driven development of accessible software, especially because it explains the applied method, and puts it into practice in a case study with the use of support technologies.On the other hand, the proposal that obtained the lowest score (MSG2) does not perform an analysis of accessibility in the context of model-driven development, in addition to not putting into practice the method proposed in a case study, which avoids knowing the tools and technologies that can be used to support the implementation of the proposal.Table 9 presents the type of publication in which each study selected for the systematic review was disseminated.The first column of the table shows the acronym of the publication, whose full name appears in the second column, and its type is shown in the third column: Conference (C), Journal (J) or Thesis PhD (T).In order to help the evaluation, a fourth column called "Level" was created to indicate how the publication is classified according to the reference for the area of research in Computer Science: Classification CORE for conferences and classification JCR for journals JCR.For the other types (thesis PhD), the value is set to "Not applicable" (N/A).The last column called "#PS" shows the number of main studies included in the respective publications.The total sum is 37, which represents the relevant non-duplicated studies cited in Table 3.
To determine if there is a relationship between the quality of the scores (QA and GA), the type and classification of the publications, it is necessary to identify the number of publications of each type included in each group or MSG.Table 10 shows how many main studies of the different types are included in each MSG.In addition, the classification (JCR and CORE) of the main studies that structure each MSG is shown.It is necessary to consider that no main studies were found that were located in the CORE-A level for conferences.In order to better relate the quality and MSG with the type of publication, the last two columns present the score of each of the MSG for quality issues: QA (quality assessment score) and GA (MSG assessment score) that were previously presented in Tables 5 and 8, respectively.
Table 11 shows the amount of MSG that includes at least one publication in a journal, conference and/or thesis and   in conferences, since in some cases, their own authors only review them.However, the research process is more detailed in thesis, although emphasizing that articles have been published in journals and conferences related to the thesis evaluated, so it is very important to consider them in the research to achieve a higher level of understanding of the topic.It is worth noting that the majority of conference articles are not categorized, this is one of the reasons they obtained a low score.
Next, the relationship between the year of publication and the type and/or level of publication was analyzed.Table 12 shows the publications per year, related to the categories of publications.In the table, it can be seen that the most productive years were between 2010 and 2014 (with 8 published studies).Regarding the conferences, 5 articles out of 25 were published in 2011, 2013, 2014, 2015 and 2017 in mid-level conferences (CORE-B), considering that the majority of conference articles are not categorized.On the other hand, in journals, the most productive year was 2010 with a total of 3 articles published in high impact journals located in the first quartile (Q1).
The reduction of research in recent years concerning the model-driven development of accessible software occurs because initially in many of these proposals only certain components of a website were considered.One of the reasons for this disinterest is that sometimes it is somewhat complex to develop a UML extension for all the components of a web page taking into account accessibility features, since it is necessary the intervention of experts on both accessibility and model-driven development (MDD).Therefore, the lack of experts in these two fields of knowledge may have been an impediment so that in recent years there has been no thorough research on the subject, with proposals considering both the accessibility of a website or other of software together with the process of transforming meta-models to models and models to code in different programming languages.Likewise, it is convenient to potentiate the model-driven development in such a way that it can help organizations to comply with accessibility legislation, avoiding possible penalties for not respecting the rights of persons with disabilities, which can contribute to increasing research in this area.On the other hand it should be a social responsibility on the part of the organizations to improve the quality of their websites taking into account accessibility characteristics, considering that electronic commerce is increasing and more and more people need the services offered in the web for their daily activities.

Discussion
This section addresses the research questions proposed in Sect.3.1.For this, the results of the data extraction shown in Tables 6 and 7 have been taken into account, in which each property of the 19 MSGs (see Table 4) has been assigned the possible values established in Fig. 3.These MSGs group the 37 relevant studies that have been considered for this systematic review (Table 3).Of which 25 were from conferences, 5 of them from CORE-B level and 2 from CORE-C level; 10 were articles of journals included in the JCR impact index, 4 of JCR-Q1 level, 3 JCR-Q3 and 3 JCR-Q4; and 2 doctoral theses were also considered, as shown in Table 12.
A comparison was also made between the quality assessed and the type of publication in Table 11, obtaining as a result that the articles of the journals had a higher average quality with respect to the questions asked for QA (Sect.3.4) and GA (Sect.3.5.1),regarding the organization, structure and content of the publications.It is important to mention that for the present systematic review two doctoral theses were considered because they presented detailed information on model-driven development of accessible software, and in them different methods, standards and tools are clearly explained, which is why they obtained the highest score of quality.

RQ1. What are the MOTIVATIONS for using MDD for producing accessible software?
The analyzed study groups described in Table 4 suggest including accessibility in the model-driven development (MDD) of different types of software, such as websites, mobile device applications and desktop applications, considering different fields of study, such as Content Management Systems (CMS) or E-learning systems, among others, as shown in Tables 6 and 7.

Improve software adaptation to users with disability
The research carried out by MSG1 ensures that adding accessibility principles to the web pages of a university requires a specific knowledge of the development team, in addition to considering it as a cumbersome process, which is prone to errors and takes a long time.That is why they propose the development of a new CMS (Content Management System) for web applications that automatically make the web available to a wide range of users, especially users with some type of disability.This new CMS will manage all the web pages of the university, using the concepts of MDD to save time and effort of the development team.
MSG6 mentions that there are certain accessibility barriers in the chats of learning environments on mobile devices, a functionality that has been widely used in the last decade by many people including those with some type of disability; for this reason the study proposes a model-driven design on models and the process of developing strategies to create an accessible chat on mobile devices.
In the field of E-learning, the study groups MSG9 and MSG15 suggest the creation of models considering accessibility standards; this, with the use of a model-driven development approach (MDD), to adapt user interfaces based on the characteristics of the device where the information is presented, and the preferences or needs of the user with or without disability.Within these proposals, it can be found some that suggest the creation of models from meta-models, and others do it through the definition of ontologies, with a focus on user-centered design.
The proposals of the study groups MSG9, MSG8, MSG12 and MSG19 coincide in the creation of user-adaptable interfaces, taking into account their personal preferences.These features can be included in the assistive technology that the student can use to access information, such as a Braille reader for blind users, audio or video subtitles for users with hearing difficulties, or text highlighting for students with difficulties learning.The relationship between user preferences and content can be achieved through an adaptive system that customizes the content for each user.This may be possible with the comparison of models through the use of the modeldriven engineering tools indicated in Table 7.In this sense, the general approach of MSG19 can be taken into account for the adaptation of any type of user interface.This solution is generic to allow reuse and consider all types of disabilities.In addition, instead of building an adaptation process for each user interface model, they propose the development of a unique adaptation process based on the user interface meta-model.
In order to make the physical limits of a device disappear, GP13 presents a cloud computing project known as Webinos, a web-based application platform which aims to reach computers, mobile phones, smart TVs or info-entertainment units of the automobile, in an open and universal environment.This platform has incorporated a model-driven development approach for the dynamic adaptation of accessible user interfaces.In this way, it facilitates the development of accessible applications that can run on any device that has an Internet connection, and with any operating system through the web browser.
Of the study groups analyzed above, 9 of the 19 MSGs, that is, 47% have focused on the accessibility of all the elements of a computer tool or application.This is not the case with MSG4, which has focused on a single element such as the menus of websites, since they have determined that many of them are not accessible, which creates accessibility barriers for many users, especially for those who have some kind of disability.The menus that are not accessible prevent users from finding the information they are looking for, and therefore cannot access the website.That is why MSG4 offers a proposal to create accessible web menus with a model-driven approach.Adopting this approach can help developers create accessible menus without knowing the technical details about accessibility.

Ensure the application of accessibility standards
In order to ensure a good content structure of the Wikis and to make their web pages accessible, MSG3 proposes a model-driven development approach that supports the creation of graphic models of the namespaces to generate structured Wiki code.Moreover, this approach also aims to include accessibility features in the models, taking into account the official guidelines of the W3C, such as WCAG and ATAG, which allows access to a greater number of users.
MSG18 mentions the importance of creating accessible mobile transport applications, especially so that they can be used by people with visual disabilities, since they are very helpful giving independence to the person during the trip.That is why this study suggests developing accessible mobile transport applications using a model-driven development approach, and the principles of standards such as WCAG 2.0 adapted for mobile web content.
Despite the large amount of multimedia content, there are users who cannot access them.Accessibility standards indicate that both the media content and the user agent that provides access to the content must be accessible to all people, with or without disabilities.That is why the MSG11 study group proposes to develop a models-driven graphic editor for the design of accessible multimedia players.This tool has been created in order to provide support to designers with little experience in accessibility, and to avoid the exclusion of a significant number of users who cannot access this type of resources.
For its part, the proposal of the MSG17 study group is aimed at managing accessibility on the session start page, with a focus on aspects, introducing accessibility techniques, and establishing a method for web applications model-driven development.The study indicates that accessibility must be managed from the beginning of the software development life cycle, from the analysis of requirements when user expresses the functional and not functional characteristics of the application.The proposal suggests the early treatment of access concerns through specific models in the context of the OOHDM method [63].

RQ2. Which METHOD is proposed for the modeldriven development of accessible software?
Currently there are several methods that have been proposed following the model-driven development approach, among which we can highlight UWE [62], WebML [22], OOWS [61] and OO-H [66].However, these methodologies do not apply accessibility standards in the development process, which is why some studies analyzed propose an extension of certain MDD methods where accessibility features are included, such as the proposals made by MSG3, MSG5, MSG7, MSG10, MSG12, MSG16, MSG17, MSG19.This information can be seen in detail in Tables 6 and 7 of Sect.4.3 and summarized in Fig. 3.
MSG17 mentions that the evolution of Web 2.0 technologies and platforms should offer user interfaces that improve the experience and access to all Web users.In this context, the study proposes an approach to bring the required improvements of accessibility in the web applications under development, called AO-WAD [54], which provides full support for accessibility concerns through the enrichment of the WE models, following OOHDM [63] and UWE [62] processes, which shows that AO-WAD [54] is flexible enough to apply in web developments.
One of the methodologies proposed by MSG3 is related to the creation of accessible web menus on a model-driven development approach.The proposed method begins with a menu domain analysis and a study of the concepts of web navigation elements with emphasis on the structures and characteristics necessary for the creation of menus.Then, the WC3 recommendations on web accessibility, such as WCAG and ATAG, and how to apply them for the development of web browsing menus are analyzed.The domain analysis is the basis for the creation of a meta-model, which includes the previously studied concepts, together with the specifications of a textual syntax for a domain specific language.In Fig. 2, a meta-model to the conceptual and structural organization of the Wiki is presented.The elements' hierarchy can be seen based in a menu element and its items.From the definition of a meta-model, it can be created different designs for each application (Wikis in this case) bringing flexibility to the destination application.As an example, a hierarchical menu shown in Fig. 3, which includes five items on its initial level.It can be seen that the persistence of the model was done in the file system in a XMI format, in the file "Wiki.xmi,"which will be parsed to generate the desired Wiki structure.Finally, with all the conceptual planning of the Wiki organization stored in a XMI model, made the automatic transformation to HTML (Wiki pages) that can be seen in Figs. 5 and 6.
MSG19 proposes a method for the development of accessible user interfaces based on transformations of meta-models, and on guidelines for model-driven engineering, in order to adapt any type of interface in an accessibility context.The context of accessibility is related to the type of disability, the platform used, the identity, the situation and the environment surrounding the user, modeling all these characteristics in an ontology, being also considered for the model accessibility standards WCAG and ISO 9241-171 (Figs. 7 and 8).
To implement the different proposed meta-model transformation shave defined two types of transformations.The PIM2PIM transformation is based on a meta-model transformation specified as disability-meta-model transformation.It transforms a non-adapted PIM model, represented by Fig. 9, into an adapted PIM represented by Fig. 10, a model specific to a given disability category.Figure 9 is shown as it appears in [58], however it should be pointed out that other sources use different names for some of the classes, as is the case of the W3C note on abstract user interface models [67], where the concept of presentation unit disappears and is superseded by the concept of Abstract Interaction Unit not to be confused by Abstract Interaction Object.The employed source and target meta-models are as follows: non adapted PIM-Metamodel and Disability PIM-Meta-model, e.g., Blindness PIM-Meta-model.
For its part, the MSG17 study group proposes a modeldriven approach that establishes a systematic process for creating the login page of a web application, through the specification of a set of conceptual models, each of which deals with a different concern about accessibility, related to navigation or the interface.Figure 11 illustrates the UID and UML activity diagrams enriched with an integration point that allows an early record of accessibility concerns for the UI element, i.e., HTML related controls.
The proposed supporting tool in this approach illustrated in Fig. 12 proves to be helpful to designers in creating models of cases by using reusable components.From the user point of view the interaction with the tool follows an "opensave-close" cycle on a document.Specifically, the developer designs an abstract interface for a web page by editing and saving changes in an XML-based document, also this methodology is known as document-centered work schema.For this reason, one of the main components of the user interface is the XML editor, which is complemented with the view WCAConsole to show and resolve the non-commitment to the Accessibility guidelines.Analysis result is shown in a structured manner using the view WCAConsole, for every tag present in the abstract user interface, the missing or  Fig. 8 View of generated Wiki according to the planned structure [3] Fig. 9 Non adapted PIM-Meta-model [58] erroneous attributes are shown.Figure 12 shows these two components integrated in the Eclipse platform [53].
Another of the proposed methodologies is based on OOWS [61], and introduces a set of models (user model, navigation model and presentation model) to consider the interaction between the user and a web application.However, there may be accessibility problems in web applications generated using the OOWS [61] method.The AWA proposal of the MSG12 has a flexible approach so that it can be applied independently of the method followed.This method allows the design and development of accessible web applications that meet the defined objectives, including the requirement of web accessibility throughout the application life cycle.As a result of applying the AWA approach, final web applications and the user interface will be accessible in compliance with the Web Content Accessibility Guidelines (WCAG).
The lack of a method for the design of accessible user interfaces for rich Internet Applications (RIA) gave rise to an extension of RUX-Method [59] proposed by MSG7, to consider the inclusion of accessibility.The RUX-Method [59] is a model-driven method that supports the multimedia, Fig. 10 Low vision-PIM-Meta-model specific to low vision disability [58] multi-modal and multi-device design of user interfaces for RIA applications.This method is divided into four levels of design: concepts and tasks, abstract user interface, concrete user interface and the final user interface obtained through code generation using the well-known RUX-Tool [64].The extension of the RUX-Method [59] offers a process that allows the model-driven development of RIA Web applications taking into account accessibility standards.The main pillar of this combination is ontoRUX [31], an ontology based on the WAI-ARIA ontology that defines the attributes that the widgets of a web page must contain, in order to be interpreted correctly by the combination of the accessibility APIs and assistive technologies.
Additionally, the WebML [22] process is considered as a Web design method, which has been inspired by the Boehm spiral model and in accordance with modern methods.
WebML [22] consists of four main models: Structure Model, Hypertext Model, Presentation Model and Customization Model.WebML [22] does not incorporate accessibility features into its process.Therefore, the MSG5 study group proposes to incorporate accessibility features in applications developed using WebML [22].For this, the inclusion of WCAG 2.0 accessibility guidelines for the development process based on WebML [22] models is suggested, taking into account the modeling of the accessibility requirements during the design phase, instead of only consider them when the final code of the application is being implemented.
The UWE [62] method has also been considered to create an extension that includes accessibility features in the model-driven development.UWE [62] focuses on the systematic design, personalization and semiautomatic generation of the scenarios that guide the development process of Fig. 12 The components integrated in the Eclipse platform [53] a web application.This method is based on the UML notation and its extension mechanisms.The approach proposed by MSG16 combines UWE [62] with the use of a textual notation for the creation of the models, such as HUTN [24].
It is important to note that MSG10 conducted an investigation in order to analyze and determine the requirements for software development processes to become accessible, with the purpose of improving the user experience of a company through the GUI development tools using the NDT [60] method.For the study, computer scientists with good knowledge about the software processes were interviewed, who had some type of disability, and who had used the NDT [60] method and its support tools.The sample included four people with physical, auditory and visual disabilities.The main conclusion obtained was that the NDT [60] method and its support tools did not present any special restrictions for the subject users under study.They refer to the same limitations found by other engineers without disabilities, regarding the use of software processes and tools to understand the requirements, and to ensure the quality of the models.

RQ3. Which TOOLS or LANGUAGES provide technological support for the integration of accessibility in the context of model-driven development?
In general, a method needs the support of an adequate tool for its implementation.More so in the MDD paradigm, where the application of transformations between models can become complex and of high financial cost if there are no software tools for the automation of this process.In this sense, some studies suggest the use of tools or frameworks for the implementation of MDD methodologies, in order to facilitate the process, especially the transformations.That is the case of the study groups MSG3, MSG4, MSG5, MSG7, MSG9, MSG10, MSG11, MSG12 MSG, MSG15, MSG16 and MSG17.This information can be seen in detail in Tables 6 and 7 of Sect.4.3 and summarized in Fig. 3 The MSG5 study group proposes the WebML [22] language/method to be implemented under the WebRatio [68] tool, which is a good representative of a new generation of CASE tools for model-driven development of Web applications.In turn, MSG7 proposes the use of RUX-Method [59] as a method, and the RUX-tool [64] for the generation of user interface code for RIA applications, integrated with the data and business logic, in a similar way as they make other CASE tools (for example, WebRatio [68]).Likewise, MSG10 proposes the use of the NDT (Navigational Development Techniques) method for model-driven development, for which it suggests the NDT-Suite tool [60] for its implementation, which works with a UML profile.It is important to highlight that NDT [60] does not have relevant accessibility problems, since it was evaluated through surveys of IT professionals with different types of disabilities.
There are also certain studies that suggest the implementation of models in tools and frameworks for general use, regardless of the MDD method used.That is the case of MSG3 that mentions Eclipse Modeling Framework (EMF) for the transformation of models to code through JET (Java Emitter Templates).Similarly, MSG13 suggests the use of the JSF (Java Server Faces) framework that works under the MVC architecture.Other tools or frameworks such as Apache MyFaces Trinidad (AMF) or Google Web Toolkit (GWT) have been built to support accessible user interface elements.
Some studies propose the use of a meta-model with previously defined characteristics.Such is the case of the MSG4 that suggests the use of the AMenu (Accessible Menu) meta-model, which was developed using a Domain Specific Language (DSL).The Xtext framework is used for the implementation of the DSL, and the Xtend code generation tool is used for transformations.Xtext provides a set of tools that allows the definition of a grammar in EBNF notation (Extended Backus Naur Form), as well as the creation of features of text edits, such as a parser for code generators and validators.After creating the DSL, a web application has been developed using JSF, called Accessible Menu Generator (AMEG), in order to facilitate the use of the AMenu meta-model by developers, whether or not they have knowledge about accessibility guidelines.For its part MSG13 mentions the AWA meta-model, which was developed using EMF.This meta-model can be used to build PIM models where it is desirable to include aspects of accessibility.To support the designer, a graphic editor called AWA-Meta-model Publisher is offered.For the generation of the final code of web applications there is the AWA-to code resource, which allows generating the code of the PSM through a model to text (M2T) transformation.
The MSG 17 study group proposes the use of the Softgoal Interdependence Graph (SIG) template for WCAG 1.0, through the application of the User Interaction Diagrams (UID) technique.The template is based on the use of UID with integration points to generate accessibility features linked by association tables.
Among other tools of general use, we can mention the one suggested by MSG9 called ArgoUML that allows the creation of platform-independent models (PIM) through UML, and among its functionalities is to provide support for the generation of code in languages such as Java, PHP, Python, C++ and C#.On the other hand MSG12 suggests the use of the SPA4USXML tool.This tool allows web designers to create generic service specifications for the adaptive Egoki system.Egoki automatically generates user interfaces adapted to the different needs and characteristics of people with disabilities, information that is stored in an ontology, in order to provide different users with access to the services offered in any technological environment.
As an important support technology we can mention UsiXML [23] suggested by MSG11, which is an XML-based markup language for the definition of user interfaces.UsiXML [23] promotes the independence of devices, since it allows a user interface to be described independently of the implemented languages or devices (mouse, screen, keyboard, speech recognition system, etc.) used in the interactions.A user interface of any application compatible with UsiXML [23] runs in all the toolkits that implement it: compilers and interpreters.It should be mentioned that UsiXML [23] has been structured according to the four levels of abstraction defined by the Cameleon framework [65]: Task and Concepts, Abstract User Interface (AUI), Concrete User Interface (CUI) and Final User Interface (FUI).
Considering that software development must be accessible in all phases of its life cycle, the MSG15 and MSG16 study groups have proposed the use of HUTN [24] (Human-Usable Textual Notation) as a text-based modeling language.HUTN [24] is an OMG standard that provides a generic concrete syntax for MOF-based meta-models.There are also other textual notations, such as those analyzed by [61], among which we can mention UML/P that has been created for programming and modeling, enriching the UML models with Java expressions.At present, there are also other tools that facilitate the creation of textual models such as: Plan-tUML, Nomnoml, TextUML or Umple.Another important tool is AWMo [24] which is a web application for both blind and sighted users.It has been designed to model diagrams using UML, with two different points of view: a traditional graphical view that sighted users can use and an equivalent textual view where blind or visually impaired users can read, create and modify models.
Note that 3 of the 19 study groups analyzed, MSG3, MSG4 and MSG1, coincide in making use of the Eclipse development environment for the implementation of their proposals, specifically the technologies provided in the context of the Eclipse Modeling Project (EMP) providing a unified set of modeling frameworks, tools and implementations of standards, which help in the implementation of methodological proposals based on the principles of modeldriven engineering.It is currently a tool commonly used by different software development teams worldwide.
At this point it is important to mention that although several model-driven development methods include their own software for their implementation (MSG5, MSG7, MSG10, MSG12, MSG17), there are currently numerous tools for working with a model-driven approach to generate code for different platforms.Among the most used tools is Enterprise Architect [69], a commercial tool that supports MDA transformations using templates that are easy to edit and develop, and also allows the generation of Java,.NET and other languages.Eclipse [70] is another commonly used tool, in this case free distribution and open source, which is supported by a large community of software developers, and incorporates support tools for each phase of the model-driven development life cycle [71].There are also tools for generating code that can even be installed as an additional component in Eclipse, among which are: JET, Acceleo, Xpand and MOFScript, the latter being the most used tool to implement the type of model transformation to text proposed by the OMG (Object Management Group) [72].
RQ4.What are the ADVANTAGES offered by the model-driven development of accessible software?
From the data extracted from Tables 6 and 7, and after performing quality assessment (QA) and MSG assessment (GA) of the MSG study groups in Table 4, certain benefits of model-driven development of accessible software were detected, detailed below: • From a commercial point of view, there is a widespread idea that accessibility means higher costs and problems due to lack of knowledge in this area, as indicated by the MSG13, MSG16 and MSG18 study groups; so accessibility requirements are often overlooked within the development team, since it involves an additional workload and lack of knowledge in the subject.Therefore, accessibility is generally not taken into account in development processes.However, accessibility not only guarantees that the company complies with the legislation on the rights of persons with disabilities to use software, as mentioned by MSG12, but also offers advantages, such as facilitating agile maintenance, scalability to new business lines and better search engine positioning [73]; • Similarly, applying an MDD approach allows the inclusion of quality requirements in the early stages of the software development life cycle, as expressed by the MSG10, MSG15 and MSG18 studies; since the requirements on software accessibility can be specified in conceptual models, and then make transformations between models, as explained by studies MSG1, MSG13 MSG14 and MSG19; in order to obtain independent platform models, and then generate accessible software code in different programming languages; • Consequently, it is important to apply a model-driven approach to develop accessible software because it greatly guarantees the quality of the software product and that the product meets the requirements of its users, meeting their expectations, as expressed by the MSG5 study group.It is precisely the requirements on software quality, such as those related to functionality, performance, compatibility, usability (accessibility), reliability, security, maintainability and portability, which are represented in the quality model of ISO/IEC 25010 [74].As a result, as MSG8 details, it can be stated that an MDD approach certifies compliance with several features proposed by ISO/IEC 25,010, because it increases productivity due to automatic code generation and facilitates reuse, portability, maintainability and software reimplementation; • In this sense, MDD is important because it is not necessary to be an expert in accessibility, which saves time and effort on the part of the development team.This is what the study groups MSG1, MSG2, MSG4 and MSG11 indicate, due to the ease of be able to include usability and accessibility requirements in the models created in the early stages of the life cycle, in accordance with the characteristics and preferences of users, including those with disabilities, thus allowing all people to access the software easily, fast and safe; • Similarly, another of the benefits present in the field of education is that analyzed by the study groups MSG6 and MSG9: they agree that using a model-driven approach to develop accessible electronic learning chats and systems adapted to the characteristics and needs of users creates important opportunities to improve the quality of education of many people especially for those who have some type of disability, which currently present difficulties in accessing the education services offered on the web [76], because it allows generating code automatically from models in different languages, without having much technical knowledge in accessibility standards by the development team.

RQ5. What are the DISADVANTAGES in the context of model-driven development of accessible software?
The following describes some challenges that may arise when implementing a model-driven development proposal for accessible software, which have been derived from the data extracted from Tables 6 and 7 and after performing quality assessment (QA) and MSG assessment (GA) of the MSG study groups in Table 4: • Even with the great advantages that the MDD approach provides for accessible software, which have been analyzed previously, the extracted data confirm that there are "limitations."First of all when it is implemented, support for the MDD process is not yet well established, there is scattered information on the most appropriate process model for developing accessible software.In addition, there are few recent publications on the subject and limited material published on its implementation [62].That is why the study groups MSG17 and MSG18 mention that there are only concepts that combine model-driven development for applications with semi-automatic support in order to create accessible software, but there are no proposals in the studied articles that support all the characteristics of accessibility and its implementation in a case study; • According to the study groups MSG13, MSG14, MSG1 and MSG18, the development of accessible web soft-ware is complicated for several reasons.Although some of them are technological, there are others that refer to the time and costs of developing accessible software following an MDD approach, especially when it is for ubiquitous devices.Most problems are related to the need for a proper design that covers different fields and types of software, and with the rise of web technology, the Internet of things and industrial automation systems, ubiquitous applications have become in a reality, becoming an inseparable part of our lives.Therefore, they must be accessible to all users.Often, certain user groups are being forgotten in the development of such systems.The diversity of presentation, orientation and interaction modalities in mobile devices must be taken into account.
The recommendations on web accessibility, especially those of the W3C, are being adapted to the software for mobile devices.There are similar basic features that can be easily included in a model and then converted to a platform-independent code, such as forms, menus and accessible content; • Following the aforementioned problems when using an MDD approach for accessible software, companies face challenges when they adopt this paradigm, among which are the selection of the appropriate model-driven development method, the techniques and tools to be applied, or monitoring accessibility problems in the process; so it is necessary to train staff and modify or adapt work roles in the development team, and all this can mean an increase in costs for the organization [71]; • Another aspect to consider, which can be a challenge as expressed by the study groups MSG18 and MSG1, is the selection of appropriate tools to generate the models, since sometimes the generated code is not the most efficient and it is necessary to perform certain modifications to obtain quality software.Therefore, training of development personnel regarding accessibility standards is essential, so that they can perform the software tests.Although this requires more workload by the development team, it is guaranteed that the product developed complies with the quality principles described in ISO/ IEC 25010 [74], and especially the accessibility requirements that are not normally taken into account despite being a legal obligation in many countries, in order to guarantee easy and quick access to web applications, as mentioned in the research carried out in MSG12; • It is not easy to build meta-models that generalize the problems, as stated by the study groups, MSG2, MSG3, MSG4, MSG11 and MSG17, which propose the creation of meta-model structures for a specific field.This in order to generate an efficient code that facilitates the establishment of procedures that allow the inclusion of accessibility from the beginning of the development process.On the other hand, although their proposal is oriented toward the construction of generic models, the studies in MSG7, MSG8, MSG9, MSG12, MSG13, MSG16, MSG18 and MSG19 indicate that certain inconsistencies may arise in automatic code generation, for which they recommend that the software development team with basic accessibility knowledge analyze them and develop the necessary modifications.
6 Conclusions and future work

Conclusions
With respect to the objective of the present work, a systematic review was carried out on model-driven development (MDD) of accessible software, in which 37 main nonrepeated studies were considered, which met the inclusion and exclusion criteria, out of a total of 1,235 studies that were recovered at the beginning of different databases.The application of this scientific method allowed to gather relevant information about aspects such as the incorporation of accessibility in the context of MDD, methodological proposals that suggest including accessibility in the MDD, tools or framework that provide support technology for the integration of accessibility in the context of MDD, and what advantages and limitations are presented in this context.At the end of the review, the following conclusions were drawn that reveal the existing approaches on the management of accessibility in the context of MDD: • Most proposals agree that accessible software facilitates the living conditions of many people, especially those with some type of permanent limitation, or with temporary limitations due, for example, to the environment in which they are using the software (noise, low illumination, etc.).It has been detected that the main type of software considered in the analyzed works are web applications, which offer different services that facilitate people's daily activities.Many of the proposals analyzed are based on the recommendations of the W3C Web Accessibility Initiative (WAI), specifically suggest the use of WCAG accessibility guidelines, whose main objective is that all users can access on equal terms to web content, easily, quickly and safely; • There are many recommendations for designing accessible web pages.However, their existence does not always mean that developers comply with them correctly and completely.Even in recent years, certain countries such as those of the European Union or Ecuador have created legislation to assess compliance with them, but there are still websites with deficiencies that make it impossible for all people to access the web, especially those who have some type of disability.This is due to the lack of competencies regarding the accessibility of development personnel, together with the lack of social responsibility on the part of companies, as it does not allow people with disabilities to access the services they offer on the web.Given this challenge, an optimal solution is proposed with a model-driven development method that would make it easier for the development team to build websites without having high knowledge of accessibility standards; • In recent years, interest in conducting studies on modeldriven development of accessible software has decreased.One of the reasons is because it sometimes becomes somewhat complex to develop an extension of a modeling language, usually UML, for all the components of an application taking into account accessibility features, since the intervention of experts in the field of accessibility and in the field of MDD is necessary.Therefore, the lack of specialists could have been an impediment so that in recent years there has been no thorough investigation on the subject, considering all the components of an accessible application and the process of transforming meta-models to models and models to code in different programming languages.In general, although the production of high-level articles in the area has declined in recent years, interest in the subject continues, reflected in research that seeks to improve the way of developing accessible websites; • Currently, there are tools to evaluate and measure compliance according to accessibility standards such as WCAG, but in many cases they can obtain incomplete results that need the supervision of an expert, since it is not possible to automate the verification of certain accessibility requirements.The application of the MDD approach creating a meta-model with associated rules on accessibility requirements (as indicated in the discussion section (RQ2)), for example through a UML profile with restrictions written in OCL language, which would be used in the design of web pages, would allow obtaining accessible web pages due to the fact that they were generated automatically from these accessible models without the need for web designers to have high levels of knowledge about accessibility standards; • Although model-driven development makes it easier for developers to build accessible applications or web pages without having a high level of accessibility knowledge, since it automates model transformation processes, it is always advisable to test with users with disabilities and have an expert evaluating the accessibility of the final software product created.This expert should be familiar with the social and work environment of people with disabilities who will be users of the software, since this allows to have a practical knowledge of their way of acting when they use the product in their daily lives; • Some of the reviewed works have proposed specific meta-models for different components of the user interface, in general for web pages, such as web menus, Wikis, chats, login pages and E-learning contents, which makes it difficult to implement in other contexts or with other software.While other approaches propose generic meta-models that offer the possibility of adapting to different contexts, although they do not demonstrate their adaptation, for example, to the different components of a web page.It is worth mentioning that although the results obtained have been significant, not all studies have implemented their proposal in a case study, which does not allow to evaluate its viability and effectiveness.For example, no meta-models or UML profiles were found where WCAG accessibility requirements applicable to the components of a website are incorporated.Therefore, this systematic review will serve the authors to continue working on this topic in order to develop our own metamodel proposal in which it considers the majority of the user interface components of an accessible website and that also it can also be adapted to other types of software, such as applications for mobile devices; • On the other hand, many of the studies focus on making the final software product accessible, without considering the accessibility of previously designed models, for example with UML language.This is important because in a team there can also be a developer with a disability, for example a blind person who cannot see models expressed only in graphic form.Therefore, it is advisable to use complementary notations based on text such as HUTN [24] and tools such as TextUML that allow the creation of models with text, in order to provide the possibility to interpret and manipulate the models to all team members of development, even those who have some type of disability; • Some studies coincide in the fact that incorporating accessibility requirements in software development is a cumbersome process, which requires time and resources as well as knowledge and experience on the part of the developers.These studies recommend creating tools based on the MDD approach that allow the automatic incorporation of accessibility requirements in the generated software; • There are proposals that suggest the creation of extensions of existing model-driven development methods, including the treatment of accessibility within the process.In addition, tools and frameworks are recommended to support these methodologies, especially for the transformation of the models; In conclusion, it can be affirmed that in general, the works analyzed support the use of a model-driven development approach for the creation of accessible software, since this approach allows integrating accessibility in the early stages of the software life cycle, focusing efforts on the design of the business logic without worrying so much about the frameworks and languages that run under the system, nor about the implementation details to guarantee accessibility, thanks to the automatic transformation of the models to different programming languages.

Future work
After performing the systematic review, it has been detected that in the field of model-driven development of accessible software there is the possibility of new contributions concerning process automation.The following include future work that will be developed by the authors: • Inclusion of WCAG 2.1 accessibility requirements in a previously defined generic model, for the automatic generation of any type of accessible software, such as web or mobile applications; these requirements must be addressed in model to code transformations; • Development of a systematic model-based development process that considers the problems of web accessibility in the design and implementation phase of the software.The inclusion of WCAG 2.1 accessibility requirements is proposed in different models and templates of code transformation, which includes the (rules for transformation processes) for the generation of any type of software; • Conduct controlled experiments to measure the effectiveness and ease of use of the proposal through surveys of experts and end users, including those with some type of disability, in order to verify its advantages and limitations.

Compliance with ethical standards
Conflict of interest On behalf of all authors, the corresponding author states that there is no conflict of interest.

Fig. 1
Fig. 1 Process of the systematic review

Fig. 3
Fig. 3 Diagram representing the main topics covered by the accessibility proposals in MDD

Table 1
Query strings implemented

Table 2
Search results

Table 3
Filtering of relevant studies

Table 5
Fig. 2 Distribution of the scores for quality assessment questions

Table 6
Data extraction (part I) the average of the quality scores achieved.It is important to consider that the category "journal" and "thesis PhD" achieves the best quality score with an average of 4.31 and 4.75 for the QAs, and 3.75 and 4.50 for GAs, respectively.The category "conference" reaches the worst case for QAs with a score of 3.93 and for GAs 3.11.The results obtained correspond to what could be expected according to the review process of each type of publication, that is, in most cases, the review processes are developed more in-depth for articles published in journals than in the works published

Table 9
Number of main studies for the different publications

Table 10
Main studies by type and classification of publication ID # PS JCRQ1 JCRQ2 JCRQ3 JCRQ4 CORE A CORE B COREC NO CORE T QA Score GA Score

Table 11
Average score for QAs and MSG questions by type of publication